Sahil2004 / NNSmith

This is an NNSmith Implementation at a smaller scale
1 stars 5 forks source link

Implementation of Calculating Code Coverage While Testing the Compiler #6

Open Sahil2004 opened 1 month ago

Sahil2004 commented 1 month ago

Description

We need to implement a system to calculate code coverage while testing the compiler. This system should provide insights into which parts of the compiler codebase are exercised by the test suite, helping identify untested areas and improving the overall robustness and reliability of the compiler.

Requirements

  1. Coverage Tool Integration:

    • Integrate a code coverage tool compatible with the compiler's codebase.
    • Ensure the tool can generate detailed coverage reports.
  2. Test Suite Instrumentation:

    • Instrument the test suite to collect coverage data during test execution.
    • Ensure minimal impact on test performance while collecting coverage information.
  3. Report Generation:

    • Develop functionality to generate human-readable coverage reports.
    • Include metrics such as line coverage, function coverage, and branch coverage.
  4. Visualization:

    • Implement visualization tools to help understand coverage data.
    • Provide visual insights into which parts of the codebase are covered and which are not.
  5. Automation:

    • Automate the process of running tests and collecting coverage data.
    • Integrate with CI/CD pipelines to provide continuous coverage monitoring.

Tasks

  1. Coverage Tool Integration

    • [ ] Identify and integrate a suitable code coverage tool for the compiler codebase.
    • [ ] Ensure the tool supports the programming languages and frameworks used in the compiler.
  2. Test Suite Instrumentation

    • [ ] Modify the test suite to collect coverage data.
    • [ ] Ensure coverage data is collected for all relevant parts of the codebase.
    • [ ] Minimize the performance impact of coverage instrumentation.
  3. Report Generation

    • [ ] Implement functionality to generate detailed coverage reports.
    • [ ] Include metrics such as line, function, and branch coverage.
    • [ ] Ensure reports are easy to understand and actionable.
  4. Visualization

    • [ ] Develop tools to visualize coverage data.
    • [ ] Provide insights into covered and uncovered areas of the codebase.
    • [ ] Implement interactive features to explore coverage details.
  5. Automation

    • [ ] Automate the process of running tests and collecting coverage data.
    • [ ] Integrate coverage collection with CI/CD pipelines.
    • [ ] Ensure continuous monitoring and reporting of code coverage.

Additional Information

References


Please comment if you have any suggestions or questions regarding this implementation plan.

Kanwar5714 commented 1 month ago

Assign me ..

Sahil2004 commented 1 month ago

Assign me ..

Alright. You are assigned this issue. Looking forward to a PR asap following all the guidelines :)

UJJWALTHAKUR28 commented 1 month ago

Assign me