Concept Analysis Plugin is a IntelliJ IDE plugin for extracting uniqueness of JUnit tests to improve the quality of existing tests.
- Clone current code repository.
- Import the cloned project into IntelliJ IDEA Ultimate version 2018.2 - 2019.2 (required).
- Run Gradle build, for any Gradle issues, refer to Common issues.
- After Gradle build is successful, click the run button on the top function bar.
- Another IntelliJ window will pop up and ask to open a project.
- Use this window to select the project you want to run the analysis on.
- On top menu, click Code, under Code menu, click RunConceptAnalysis.
- Plugin will automatically start to perform on the selected project, results will be printed in Run console.
Permission needed.
Please contact Jianwei Wu at [email protected] before any pull request is created.
- java folder contains main function to invoke Plugin.
- kotlin folder contains all implementations for concept analysis and top-level/secondary code.
- RunAnalysis starts the Plugin.
- Wu, Jianwei, and James Clause. "Automated identification of uniqueness in junit tests." ACM Transactions on Software Engineering and Methodology 32.1 (2023): 1-32.
MIT License
Copyright (c) [2022] [Jianwei Wu, James Clause]
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentations (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OR GUARANTEE-TO-WORK OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.