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
Added multi formalism to create product of arbitrary number of formal… #251
base: master
Are you sure you want to change the base?
Conversation
7a4ad5f
to
af2672b
Compare
Thanks for the PR! Could you please provide a short description (either in a README placed under Also, please bump the version (I think I'd go with a new minor version, to 5.1.0) in the build.gradle.kts. |
Sorry for the many merge commits, I'm trying to get Sonar running on forked repos. |
subprojects/common/analysis/src/test/kotlin/hu/bme/mit/theta/analysis/multi/ProductOfTwoTest.kt
Outdated
Show resolved
Hide resolved
...rojects/common/analysis/src/main/java/hu/bme/mit/theta/analysis/multi/ExprMultiAnalysis.java
Outdated
Show resolved
Hide resolved
subprojects/common/analysis/src/main/java/hu/bme/mit/theta/analysis/multi/StmtMultiAction.java
Outdated
Show resolved
Hide resolved
...rojects/common/analysis/src/main/java/hu/bme/mit/theta/analysis/multi/ExprMultiAnalysis.java
Outdated
Show resolved
Hide resolved
...jects/common/analysis/src/main/java/hu/bme/mit/theta/analysis/multi/MultiLtsBuilderFunc.java
Outdated
Show resolved
Hide resolved
.../common/analysis/src/main/java/hu/bme/mit/theta/analysis/multi/MultiAnalysisBuilderFunc.java
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you for the changes! I only have some minor comments, but aside from them it looks good to me.
testImplementation(project(":theta-cfa")) | ||
testImplementation(project(":theta-cfa-analysis")) | ||
testImplementation(project(":theta-xsts")) | ||
testImplementation(project(":theta-xsts-analysis")) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I would move cfa and xsts dependent tests to cfa-analysis and xsts-analysis to avoid circular dependencies here
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Product of cfa and xsts cant fit in any of those
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The multi tests should be in a totally separate package. Everything else stays where it is
subprojects/common/analysis/src/main/java/hu/bme/mit/theta/analysis/multi/MultiLts.java
Outdated
Show resolved
Hide resolved
...rojects/common/analysis/src/main/java/hu/bme/mit/theta/analysis/multi/NextSideFunctions.java
Outdated
Show resolved
Hide resolved
...ojects/xsts/xsts-analysis/src/main/kotlin/hu/bme/mit/theta/xsts/analysis/XstsUnitInitFunc.kt
Outdated
Show resolved
Hide resolved
...ojects/xsts/xsts-analysis/src/main/kotlin/hu/bme/mit/theta/xsts/analysis/XstsInUnWrappers.kt
Outdated
Show resolved
Hide resolved
...ojects/xsts/xsts-analysis/src/main/kotlin/hu/bme/mit/theta/xsts/analysis/XstsInUnWrappers.kt
Outdated
Show resolved
Hide resolved
...ojects/xsts/xsts-analysis/src/main/kotlin/hu/bme/mit/theta/xsts/analysis/XstsInUnWrappers.kt
Outdated
Show resolved
Hide resolved
subprojects/common/analysis/src/main/java/hu/bme/mit/theta/analysis/multi/MultiState.java
Show resolved
Hide resolved
* @param <RPrec> Type of precision of right formalism | ||
* @param <DataPrec> Type of data precision (formalism independent) | ||
*/ | ||
public abstract class MultiAnalysis<LState extends State, RState extends State, DataState extends State, LBlank extends State, RBlank extends State, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Analysis components should be moved into their own separate classes instead of being lambdas (objects are also fine), so that they can be used on their own, without creating a full analysis
...ommon/analysis/src/main/kotlin/hu/bme/mit/theta/analysis/multi/builder/MultiBuilderResult.kt
Outdated
Show resolved
Hide resolved
subprojects/common/analysis/src/main/java/hu/bme/mit/theta/analysis/multi/MultiState.java
Outdated
Show resolved
Hide resolved
...ects/common/analysis/src/main/java/hu/bme/mit/theta/analysis/multi/stmt/StmtMultiAction.java
Show resolved
Hide resolved
...common/analysis/src/main/kotlin/hu/bme/mit/theta/analysis/multi/config/MultiBlankInitFunc.kt
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Every blank, control etc. should be called 'struct' everywhere
Quality Gate passedIssues Measures |
No description provided.