-
Notifications
You must be signed in to change notification settings - Fork 12
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
Clone Management #67
base: main
Are you sure you want to change the base?
Clone Management #67
Conversation
Qodana Community for JVM254 new problems were found
💡 Qodana analysis was run in the pull request mode: only the changed files were checked View the detailed Qodana reportTo be able to view the detailed Qodana report, you can either:
To get - name: 'Qodana Scan'
uses: JetBrains/qodana-action@v2023.3.1
with:
upload-result: true Contact Qodana teamContact us at qodana-support@jetbrains.com
|
import java.nio.file.Files; | ||
import java.util.regex.Pattern; | ||
|
||
public class CloneVfsTest extends LightPlatformCodeInsightTestCase { |
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.
what is Vfs can you make this more explicit?
# Conflicts: # .feature-model # build.gradle.kts # gradle.properties
Qodana Community for JVM41 new problems were found
💡 Qodana analysis was run in the pull request mode: only the changed files were checked Contact Qodana teamContact us at qodana-support@jetbrains.com
|
Qodana Community for JVM53 new problems were found
💡 Qodana analysis was run in the pull request mode: only the changed files were checked View the detailed Qodana reportTo be able to view the detailed Qodana report, you can either:
To get - name: 'Qodana Scan'
uses: JetBrains/qodana-action@v2024.1.5
with:
upload-result: true Contact Qodana teamContact us at qodana-support@jetbrains.com
|
Description
I developed a clone management tool without making any major changes to in HAnS. The tool is based on the clone principles of the virtual platform and is designed to track not only the clones of software assets but also all features annotated or assigned to these assets.
Related Issue
#66
Motivation and Context
Having a tool to manage software clones is critical for several reasons. First, clones contribute to code bloat, complicating the code base and making maintenance more difficult. Second, clones can lead to increased maintenance costs because changes must be replicated across all cloned instances to maintain consistency. Finally, clones present a risk of bug propagation; if a bug exists in one cloned segment, it is likely to be present in all its copies.
How Has This Been Tested?
I implemented a series of unit tests to check the functionality of methods that are independent of plugin components.
For the implementation of the integration tests, I created several test scenarios using a simulation project provided by test frameworks such as 'BasePlatformTestCase’ and ‘LightPlatformCodeInsightTestCase’.
Most of the integration tests still only pass in debug-mode.
Screenshots (if appropriate):
Types of changes
Checklist: