-
Notifications
You must be signed in to change notification settings - Fork 328
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
Enhance the new Report Viewer #357
Comments
Just a few things that I noticed (I did not edit the post above so there is no confusion on what has changed):
|
Currently, there is no error message when files are missing. This will be explicitly the case after merging #452. |
When trying to open a zip file that does not contain an overview.json at the top level, a white page is shown.
If a correct and complete zip has been used before without reloading the page, the content of the previous zip is shown instead without warning. There should be error handling when opening a zip file that checks if it contains the required files in the correct place. |
About 'Include max metric in JSON files and in the frontend'.What max metric exactly is this about? Now what I am wondering about is that the SimilarityMetric of JPlagOptions cannot be configured by the user via the CLI flags. And the code itself doesn't change the JPlagOptions#similarityMetric either - it is always the default value What exactly is the task/expected behaviour here? Should the user be enabled to run JPlag with multiple metrics he can define via CLI flags? |
"The maximum similarity is defined as the maximum of both program coverages. This ranking is especially useful if the programs are very different in size. This can happen when dead code was inserted to disguise the origin of the plagiarized program." (from the legacy report) Imagine student A creates a copy of the submission of student B. Then he inserts random methods/classes/fields. If he adds enough LOC, the average similarity will be pretty low. However, the maximum similarity will be still pretty high. The maximum similarity can be retrieved by default from any
Actually, it is not about the attribute in the
You are right, the similarity metric cannot be changed via the CLI, but when using JPlag programmatically (e.g. as used in Artemis). It controls which similarity metric is used for the similarity threshold I think the JSON model was designed in a way so it is open for extension. The list of metrics should (hopefully) control the buttons at the top of your screenshot. I am not too familiar with the web report generation, so this might not be true and the button at the top is hardcoded.
The user should not be required to do anything via the CLI. The report viewer should show two buttons AVG and MAX (which is hopefully controlled by For the clustering, the similarity metric probably defines which similarity is used to calculate the clustering. This is where the enum On a side note, the clustering options are a bit overkill and most of them will rarely be used by a CLI user. Maybe in future we will hide some of them in the CLI. |
Thanks, Timur - those were already some pretty helpful hints!
|
Semantically, they are the same metric on paper. When a comparison of a submission tuple has two similarities, based on the length of each submission in the tuple. Now we can take the average of those two or the maximum. However, the
No,
This does not need to be considered in the report viewer, as this configuration just affects the Hope that helps. |
@tsaglam that helps a lot, thanks! I have another follow-up question: is |
Yes, JPlag/jplag/src/main/java/de/jplag/options/SimilarityMetric.java Lines 8 to 11 in 690c228
This means you are right, this is faulty! Sorry, this bug might have caused some confusion. Basically, the button names should not be queried from
Yes, exactly! |
About 'Revisit JSON file generation when comparing large submissions and remove code redundancy in JSON files'I implemented an approach to reduce the report's file size: Code lines in a comparison file are not saved as plain text any more, but as numbers. These numbers are indices to a lookup table. This lookup table is global, i.e., it contains an index -> code line mapping, for every code line across all report files. This lookup table is persisted in an additional file These example files. First of all, of course, I would appreciate your feedback on this approach. |
@nestabentum you mean right now? Or in general? |
Just two questions :)
And one comment / something we could think about: |
@nestabentum I also welcome the idea of the lookup table but would propose creating one table per submission to keep the file structure clearer. The only argument against this would be that there is such a high overlap that merging them can significantly reduce the file size and this not only for our fake testing data but for real submission sets. Regarding backwards compatibility, as Timur said, we can ignore this right now. |
Right now, the report viewer can handle a zip file that contains an
As previously mentioned, a
I have little expertise to offer here, what's your opinion @sebinside? |
I would suggest to discuss this in the development meeting next week as well :) |
Yes, I thought about that too... I thought that it would be kind of a nice to have, to have a file structure that is somewhat more clearly structured. But then again I thought, that submission files do have a quite an overlap, concerning e.g. imports and base code and so I went with the global table. |
@nestabentum @sebinside should the clustering be working right now? I can't get JPlag to export clusters via the |
@tsaglam it should work. Do you have some more information on your concrete case? |
I compared a set of metamodels with the newly added EMF frontend. Unfortunately, I cannot share my files, as these are student submissions. I realize now this might be a problem with the EMF frontend and thus my own doing. I will test it with another frontend later, but there it will probably work. EDIT: |
This issue has been replaced by #710. |
In #287, we added a new web-based report viewer that was developed from scratch. However, there are still many enhancements and fixes open until the viewer is release-ready for version 4.0:
General
JSON Generator
Fixes
Report Viewer
Fixes
Enhancements
avg
andmax
metric freezes the UI if there are many submissions in the overviewBuilt report viewer files shall be deployed with results (see Replace the outdated HTML report generation #192)Accept multiple files as inputThe text was updated successfully, but these errors were encountered: