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

Possible bug with InterproceduralGraphAnalysis #266

Open
darienchong opened this issue Oct 11, 2021 · 0 comments
Open

Possible bug with InterproceduralGraphAnalysis #266

darienchong opened this issue Oct 11, 2021 · 0 comments

Comments

@darienchong
Copy link
Collaborator

Context

The current iteration of SmartSeedPerformanceFilter (on the evoseed-filter branch) aims to use the existing InterprocedurarlGraphAnalysis functionality to derive the dependent variables of a branch to see if the branch operands are input-related. However, it appears that in certain cases, the interprocedural graph analysis fails to derive the dependent variables of a branch.

Steps to Reproduce

Please break down here below all the needed steps to reproduce the issue.
[If possible, please upload an example of the project you are generating tests for.]

  1. Download 0_custom.zip
  2. Extract the zip file into the SF100 benchmark folder (D:\linyun\git_space\SF100-clean)
  3. Set a breakpoint at line 258 of SmartSeedPerformanceFilter.
  4. Run the SmartSeedPerformanceFilter on the jar file by running the testCustom method in ListMethodsBatch.
  5. Observe that for the BranchExample#transitiveMethodCall method in custom.jar, dependentVariables is an empty set (no dependent variables derived).
  6. Further observe that the issue is not an issue with retrieving the dependent variables from InterproceduralGraphAnalysis.branchInterestedVarsMap by looking into the internal state of branchToDependentVariables and determining that there are truly no dependent variables derived for the method.

Expected result

Interprocedural graph analysis should produce the dependent variables for the specified methods and branches.

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

1 participant