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

refactor: make tests framework agnostic #69

Merged
merged 33 commits into from
Feb 11, 2025

Conversation

swissiety
Copy link
Member

@swissiety swissiety commented Dec 17, 2024

  • remove soot dependencies from main code
  • disabled/commented sparsification as it only worked on soot objects directly (not using domain objects)
  • restructure test cases to use framework agnostic domain objects
  • currently: fill domain objects with information provided by soot

future work on that matter is noted in #42

TODO:

  • before merge: lets run a code style over it so that is done finally

@swissiety swissiety changed the title sootup support refactor refactor: make tests framework agnostic Dec 17, 2024
@schlichtig schlichtig requested a review from smeyer198 December 17, 2024 12:58
# Conflicts:
#	SparseBoomerangCorrectness/pom.xml
#	SynchronizedPDS/pom.xml
#	SynchronizedPDS/src/main/java/sync/pds/solver/OneWeightFunctions.java
#	SynchronizedPDS/src/main/java/sync/pds/solver/SyncPDSSolver.java
#	WPDS/pom.xml
#	WPDS/src/main/java/wpds/impl/WeightedPAutomaton.java
#	WPDS/src/main/java/wpds/impl/WeightedPushdownSystem.java
#	boomerangPDS/pom.xml
#	boomerangPDS/src/main/java/boomerang/WeightedBoomerang.java
#	boomerangPDS/src/main/java/boomerang/WeightedForwardQuery.java
#	boomerangPDS/src/main/java/boomerang/callgraph/BoomerangResolver.java
#	boomerangPDS/src/main/java/boomerang/debugger/ConsoleDebugger.java
#	boomerangPDS/src/test/java/test/cases/fields/ReadPOITest.java
#	boomerangPDS/src/test/java/test/cases/fields/WritePOITest.java
#	boomerangScope-Soot/src/main/java/boomerang/framework/soot/jimple/JimpleDeclaredMethod.java
#	boomerangScope-Soot/src/main/java/boomerang/framework/soot/jimple/JimpleMethod.java
#	boomerangScope-Soot/src/main/java/boomerang/framework/soot/jimple/JimpleStaticFieldVal.java
#	boomerangScope-WALA/pom.xml
#	boomerangScope-WALA/src/main/java/boomerang/framework/wala/WALADeclaredMethod.java
#	boomerangScope-WALA/src/main/java/boomerang/framework/wala/WALAMethod.java
#	boomerangScope/pom.xml
#	idealPDS/pom.xml
#	idealPDS/src/main/java/typestate/TransitionFunction.java
#	idealPDS/src/main/java/typestate/impl/statemachines/OutputStreamStateMachine.java
#	idealPDS/src/test/java/typestate/test/helper/File.java
#	pom.xml
#	testCore/pom.xml
@swissiety
Copy link
Member Author

swissiety commented Dec 17, 2024

  • investigate performance drop: previous builds took ~4 min vs. ~ 11 min

@swissiety swissiety marked this pull request as ready for review January 17, 2025 10:27
# Conflicts:
#	boomerangPDS/pom.xml
#	boomerangPDS/src/main/java/boomerang/guided/DemandDrivenGuidedAnalysis.java
#	boomerangPDS/src/test/java/boomerang/guided/CustomFlowFunctionTest.java
#	boomerangPDS/src/test/java/test/cases/bugfixes/Repro.java
@swissiety swissiety force-pushed the feature/sootup-support-refactor branch from bdfbe0b to 36a069a Compare February 7, 2025 10:46
Copy link
Collaborator

@smeyer198 smeyer198 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The things that I have marked come from the silent code clean up. I would keep them as before to avoid changing the intended tests. I will have a closer look at them anyway, when refactoring the BoomerangOptions (i.e. isStringBuilderOrBuffer() and things like this).

Another point: Maybe can rename the scope packages boomerang.framework.soot etc. into boomerang.scope.soot etc. (replace 'framework' with 'scope')? IMO, it is easier to describe it in the documentation, something like: "Boomerang works on its on scope, we provide a scope for Soot, SootUp, ..." and then the imports lead to the correct scopes

@swissiety swissiety merged commit c845974 into develop Feb 11, 2025
3 checks passed
@swissiety swissiety deleted the feature/sootup-support-refactor branch February 11, 2025 07:59
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

Successfully merging this pull request may close these issues.

2 participants