Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Redesign the mapping structure used in Cairo coverage to decouple from the profiler and include additional required information #44

Open
ksew1 opened this issue Sep 2, 2024 · 0 comments
Assignees
Labels
Compiler Should be done in cairo compiler design-doc Requires design-doc

Comments

@ksew1
Copy link
Member

ksew1 commented Sep 2, 2024

In the current implementation of Cairo coverage, we use mappings in the form of: Sierra ID -> List of Details, where each detail is a triple consisting of:

  • Path to file
  • Line in file
  • Function name

The function name is derived from cairo-profiler, which creates a tight coupling with the profiler; any changes in the profiler can lead to issues in the coverage computation and vice versa. Additionally, the current mappings lack critical information, forcing us to rely on heuristics.

Issues with Current Mappings:

  • Tight coupling with cairo-profile.
  • Missing information on cfg context for each line.
  • Lack of branch coverage mappings.
  • Wrong handling of macros (macros shouldn't be present in mappings)
  • Undefined start and end lines for functions.

The result of this task should be design doc presenting format of new mappings

Related issues: #29 #27 #30 #33

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Compiler Should be done in cairo compiler design-doc Requires design-doc
Projects
None yet
Development

No branches or pull requests

1 participant