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

Add informal diagram consistency pipeline steps #308

Merged
merged 37 commits into from
Dec 21, 2023

Conversation

jeanpmathes
Copy link
Contributor

This PR adds a module containing steps to find trace links between diagrams and models (architecture, code). Addionally, the code model is adapted to contain more information, including references to used types and parent classes for nested classes.

Release 0.23.0

# Conflicts:
#	framework/common/src/main/java/edu/kit/kastel/mcse/ardoco/core/api/models/arcotl/code/Datatype.java
#	pom.xml
#	stages/model-provider/src/main/java/edu/kit/kastel/mcse/ardoco/core/models/connectors/generators/code/java/JavaModel.java
Release 0.26.0

# Conflicts:
#	pom.xml
Copy link
Member

@dfuchss dfuchss left a comment

Choose a reason for hiding this comment

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

Some comments before CI build :)

@dfuchss
Copy link
Member

dfuchss commented Dec 5, 2023

Two points:

  • Could you run mvn spotless:apply once ?
  • Could you add a PR to ArDoCo/Benchmark instead of changing the benchmark in this repository directly :)

@jeanpmathes
Copy link
Contributor Author

PR in benchmark is here: ArDoCo/Benchmark#12

…m 7675243a..daeaee7e

daeaee7e Update code models to contain parent class and reference info (ArDoCo#12)
4fae195e Format Code Model. Fix ArDoCo#13
814aa945 Remove duplicate in GS

git-subtree-dir: tests/tests-base/src/main/resources/benchmark
git-subtree-split: daeaee7e6273722b44a1a82b5d7bdd204edd743c
@dfuchss
Copy link
Member

dfuchss commented Dec 6, 2023

Thanks :) I've updated the benchmark. Let's wait for the CI

@dfuchss
Copy link
Member

dfuchss commented Dec 6, 2023

@jeanpmathes can you look at

Error:  Failures: 
Error:    DiagramLoadingTest.loadStageOne:86->EvaluationBase.getCodeModel:106 expected: not <null>
Error:    DiagramConsistencyTest.evaluateStage1VersionFinalLevenshtein:244->assertStage1Result:250 expected: <0.36> but was: <0.08>
Error:  Errors: 
Error:    DiagramConsistencyTest.evaluateAllStages:573->runAndEvaluateStage3:615 » NullPointer
[INFO] 
Error:  Tests run: 125, Failures: 2, Errors: 1, Skipped: 37

@jeanpmathes
Copy link
Contributor Author

The commits might fix the first failure, but I am not sure as I can't reproduce it. For the other two problems I am still looking for a reason.

@dfuchss
Copy link
Member

dfuchss commented Dec 6, 2023

Maybe you have to clear some AppData/ArDoCo folders.

@dfuchss
Copy link
Member

dfuchss commented Dec 8, 2023

@jeanpmathes in #315 we beautified the JSON of the Code Model. Could you regenerate the Code Model (adapted version) and create another PR in benchmark again :) Then the review should be easy.

# Conflicts:
#	framework/common/src/main/java/edu/kit/kastel/mcse/ardoco/core/api/models/arcotl/code/Datatype.java
@jeanpmathes
Copy link
Contributor Author

The new PR is here: ArDoCo/Benchmark#16

Concerning the failed tests, the problem seems to be an empty code model. When loading the model, no cloned code is available to extract from and just reading in does not work. The last commit clones when loading, this might not be an ideal solution.

jeanpmathes and others added 3 commits December 8, 2023 18:24
…m daeaee7e..9bbc3a89

9bbc3a89 Update code models to contain parent class and reference info, using new formatting (ArDoCo#16)
fe5a8549 Update the codemodel to be more (human) readable

git-subtree-dir: tests/tests-base/src/main/resources/benchmark
git-subtree-split: 9bbc3a89677ffba98bb861f0c0206a93c61ec5d1
@jeanpmathes
Copy link
Contributor Author

Something seems wrong with coverage calculation, it fails even before verify is done. Checking coverage locally leads to a higher value, which also makes sense because multiple of the tests run the entire pipeline that is added.

@dfuchss
Copy link
Member

dfuchss commented Dec 14, 2023

It works now :) I'll have a look at the code again but I think it will be good 👍

@dfuchss dfuchss self-requested a review December 14, 2023 21:57
Copy link
Member

@dfuchss dfuchss left a comment

Choose a reason for hiding this comment

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

In summary, it looks good to me. Thanks a lot.

Copy link

@dfuchss
Copy link
Member

dfuchss commented Dec 21, 2023

@jeanpmathes thanks for the PR. Well done :) I'll merge it now !

@dfuchss dfuchss merged commit 99b45b0 into ArDoCo:main Dec 21, 2023
6 checks passed
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.

3 participants