This project is an implementation of the Quamoco quality evaluation framework. Currently we have implemented quality models for the following languages/specifications:
- Java
- C#
Beyond the Java and C# models, we intend to develop several other models based on QMOOD, SIG, ColumbusQM, and SQALE quality models. We have also included an extended quality model for both Java and C# (extending their models) which includes enhanced security analysis to meet RMF compliance.
- Calculate quality using a Quamoco Quality Model.
- Evaluate the quality grade for any set of quality factors and attributes.
- Create and evaluate quality models for multiple languages:
- Extend the Quamoco Quality models to include Code Smells, Antipatterns, and other issues not yet already included to increase their functionality.
- Replace the existing SQALE implementation in SonarQube.
- Collect and analyze data for empirical software engineering research.
This project depends on the following other MSUSEL subprojects:
There are two options:
-
You can use your own version of Maven and run the following commands at the command line, from the project root directory:
- Compiling:
$ mvn clean compile -Dmaven.test.skip=true
- Packaging into a Jar with dependencies
$ mvn clean package -Dmaven.test.skip=true
- Packaging into a Jar and deploying to the maven repo:
$ mvn clean deploy -Dmaven.test.skip=true
- Compiling:
-
You can use the Maven wrapper which comes with the project:
- On Mac and Linux:
- Compiling:
$ ./mvnw clean compile -Dmaven.test.skip=true
- Packaging into a Jar with Dependencies:
$ ./mvnw clean package -Dmaven.test.skip=true
- Packaging into a Jar and deploying to the maven repo:
$ ./mvnw clean deploy -Dmaven.test.skip=true
- Windows:
- Compiling:
$ .\mvnw.cmd clean compile -Dmaven.test.skip=true
- Packaging into a Jar with Dependencies:
$ .\mvnw.cmd clean package -Dmaven.test.skip=true
- Packaging into a Jar and deploying to the maven repo:
$ .\mvnw.cmd clean deploy -Dmaven.test.skip=true
- On Mac and Linux:
As will all projects from MSUSEL this project is licensed under the MIT open source license. All source files associated with this project should have a copy of the license at the top of the file.
If a build fails due to license header issues, this can be remedied using the following command sequence at the command line:
- With an independently installed Maven system:
- Linux, Mac, Windows:
$ mvn license:format
- Using the Maven Wrapper:
- Linux and Mac:
$ ./mvnw license:format
- Windows:
$ .\mvnw.cmd license:format