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

jvm issues #629

Closed
DavidKorczynski opened this issue Nov 24, 2022 · 7 comments
Closed

jvm issues #629

DavidKorczynski opened this issue Nov 24, 2022 · 7 comments
Assignees

Comments

@DavidKorczynski
Copy link
Contributor

DavidKorczynski commented Nov 24, 2022

Umbrella issue for minor jvm issues

  • runtime coverage functions is above reachable functions
  • urls is missing some parts (apache-commons-cli is an example), including .java
@arthurscchan
Copy link
Contributor

This issue is a on-going bug fixing issue for Issue #536.

@arthurscchan
Copy link
Contributor

arthurscchan commented Nov 24, 2022

Example wrong url: http://localhost:8008/covreport/linux/org/apache/commons/cli/DefaultParser.html#L530

Right link: http://localhost:8008/covreport/linux/org.apache.commons.cli/DefaultParser.java.html#L530

The possible reason is Jacoco report does not care non-instruction statements, will need to check if there is option in the jacoco report to allow inspection of those statements and fix it on oss-fuzz side.

No option found, decided to use manual patch to add line number manually to those non-instruction line in PR #633.
PR #633 has execute the patching logic before the report has been copied to the designated location. PR#635 aims to fix this problem by moving the code to runner.py and patch those html source report after it has been moved to the covreport expected directory.

@arthurscchan
Copy link
Contributor

Another possible issue is the difference in runtime coverage and static reachability analysis. Some methods are missing in the reachability analysis making runtime coverage not able to handle those methods correctly.

@arthurscchan
Copy link
Contributor

Additional figures that are needed to modify is the method reached for each fuzzers, instead of just counting the first layer of reachable methods, count deep into all layer of method reached and add them and show a total sum of all reachable methods from the whole call tree.

@arthurscchan
Copy link
Contributor

PR #632 and #634 aims to handle the link resolve bugs happened for linking the callgraph functions to the jacoco source report. It includes the missing of .java for code handling, mishandled link for package folder and mishandled link for the source code reference of subclasses.

@arthurscchan
Copy link
Contributor

Further unit testing are being monitored in Issue #630

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants