283 lines
6.8 KiB
JSON
283 lines
6.8 KiB
JSON
{
|
|
"schemaVersion": 3,
|
|
"run": {
|
|
"status": "FINISHED",
|
|
"diagnostics": []
|
|
},
|
|
"definition": {
|
|
"metricId": "mutation-crap",
|
|
"metricVersion": 1,
|
|
"scorePolicyId": "timeouts-killed-v1",
|
|
"formula": "C^2 * (1 - MS)^3 + C, MS = killed / eligible mutants as the score policy counts them",
|
|
"complexityProvider": {
|
|
"id": "jacoco-cyclomatic",
|
|
"version": "0.8.15"
|
|
},
|
|
"changeRiskFormula": "per top-level class: C^2 * (1 - MS)^3 + C over its scored methods, C and mutants summed, times (1 + (LCOM4 - 1) / 2) times (1 + Ce / 20)"
|
|
},
|
|
"provenance": {
|
|
"pluginVersion": "0.26.10",
|
|
"pitVersion": "1.30.0",
|
|
"analysisContext": ":pitest",
|
|
"codeRoots": [
|
|
"build/classes/java/main"
|
|
],
|
|
"classFiles": {
|
|
"demo.Classifier": {
|
|
"origin": "build/classes/java/main",
|
|
"sha256": "9f2c1e4b7a8d0c3e6f5a2b1d4c7e0f3a6b9c2d5e8f1a4b7c0d3e6f9a2b5c8e1d"
|
|
},
|
|
"demo.Grade": {
|
|
"origin": "build/classes/java/main",
|
|
"sha256": "9f2c1e4b7a8d0c3e6f5a2b1d4c7e0f3a6b9c2d5e8f1a4b7c0d3e6f9a2b5c8e1d"
|
|
}
|
|
}
|
|
},
|
|
"configuration": {
|
|
"metric": {
|
|
"analysisContext": ":pitest",
|
|
"excludeClasses": [],
|
|
"excludeMethods": []
|
|
},
|
|
"pit": {
|
|
"excludedClasses": [],
|
|
"excludedMethods": [],
|
|
"features": [],
|
|
"mutators": [],
|
|
"targetClasses": [
|
|
"demo.*"
|
|
]
|
|
},
|
|
"pitConfigurationComplete": false,
|
|
"pitConfigurationNote": "only the listed PIT options are recorded; target tests, mutation filters and test framework settings are not"
|
|
},
|
|
"scope": {
|
|
"complete": true,
|
|
"selectedClasses": [
|
|
"demo.Classifier",
|
|
"demo.Grade",
|
|
"demo.Legacy"
|
|
],
|
|
"unreadableClasses": []
|
|
},
|
|
"summary": {
|
|
"methods": 7,
|
|
"byState": {
|
|
"SCORED": 2,
|
|
"NO_MUTATION_RESULTS": 1,
|
|
"NO_ELIGIBLE_MUTANTS": 1,
|
|
"INCONCLUSIVE": 1,
|
|
"COMPLEXITY_UNAVAILABLE": 1,
|
|
"EXCLUDED": 1
|
|
},
|
|
"highestScores": [
|
|
{
|
|
"class": "demo.Classifier",
|
|
"method": "classify",
|
|
"descriptor": "(I)Ljava/lang/String;",
|
|
"mutationCrap": 22.5
|
|
},
|
|
{
|
|
"class": "demo.Classifier",
|
|
"method": "normalize",
|
|
"descriptor": "(I)I",
|
|
"mutationCrap": 1
|
|
}
|
|
]
|
|
},
|
|
"methods": [
|
|
{
|
|
"class": "demo.Classifier",
|
|
"method": "classify",
|
|
"descriptor": "(I)Ljava/lang/String;",
|
|
"state": "SCORED",
|
|
"reasons": [],
|
|
"complexity": 10,
|
|
"statusCounts": {
|
|
"KILLED": 5,
|
|
"SURVIVED": 5
|
|
},
|
|
"contradictedMutants": 0,
|
|
"excludedMutants": 0,
|
|
"denominator": 10,
|
|
"mutationScore": 0.5,
|
|
"mutationCrap": 22.5,
|
|
"mutationCrapExact": {
|
|
"numerator": "45",
|
|
"denominator": "2"
|
|
},
|
|
"sourceFile": "Classifier.java",
|
|
"firstLine": 12
|
|
},
|
|
{
|
|
"class": "demo.Classifier",
|
|
"method": "compare",
|
|
"descriptor": "(II)I",
|
|
"state": "NO_ELIGIBLE_MUTANTS",
|
|
"reasons": [
|
|
"no-eligible-mutants"
|
|
],
|
|
"complexity": 2,
|
|
"statusCounts": {
|
|
"NON_VIABLE": 2
|
|
},
|
|
"contradictedMutants": 0,
|
|
"excludedMutants": null,
|
|
"denominator": null,
|
|
"mutationScore": null,
|
|
"mutationCrap": null,
|
|
"mutationCrapExact": null,
|
|
"sourceFile": "Classifier.java",
|
|
"firstLine": 40
|
|
},
|
|
{
|
|
"class": "demo.Classifier",
|
|
"method": "describe",
|
|
"descriptor": "()Ljava/lang/String;",
|
|
"state": "NO_MUTATION_RESULTS",
|
|
"reasons": [
|
|
"no-mutation-results"
|
|
],
|
|
"complexity": 2,
|
|
"statusCounts": {},
|
|
"contradictedMutants": 0,
|
|
"excludedMutants": null,
|
|
"denominator": null,
|
|
"mutationScore": null,
|
|
"mutationCrap": null,
|
|
"mutationCrapExact": null,
|
|
"sourceFile": "Classifier.java",
|
|
"firstLine": 35
|
|
},
|
|
{
|
|
"class": "demo.Classifier",
|
|
"method": "normalize",
|
|
"descriptor": "(I)I",
|
|
"state": "SCORED",
|
|
"reasons": [],
|
|
"complexity": 1,
|
|
"statusCounts": {
|
|
"KILLED": 1
|
|
},
|
|
"contradictedMutants": 0,
|
|
"excludedMutants": 0,
|
|
"denominator": 1,
|
|
"mutationScore": 1,
|
|
"mutationCrap": 1,
|
|
"mutationCrapExact": {
|
|
"numerator": "1",
|
|
"denominator": "1"
|
|
},
|
|
"sourceFile": "Classifier.java",
|
|
"firstLine": 30
|
|
},
|
|
{
|
|
"class": "demo.Classifier",
|
|
"method": "retry",
|
|
"descriptor": "(I)I",
|
|
"state": "INCONCLUSIVE",
|
|
"reasons": [
|
|
"inconclusive-status:RUN_ERROR"
|
|
],
|
|
"complexity": 3,
|
|
"statusCounts": {
|
|
"KILLED": 2,
|
|
"RUN_ERROR": 1
|
|
},
|
|
"contradictedMutants": 0,
|
|
"excludedMutants": null,
|
|
"denominator": null,
|
|
"mutationScore": null,
|
|
"mutationCrap": null,
|
|
"mutationCrapExact": null,
|
|
"sourceFile": "Classifier.java",
|
|
"firstLine": 45
|
|
},
|
|
{
|
|
"class": "demo.Grade",
|
|
"method": "values",
|
|
"descriptor": "()[Ldemo/Grade;",
|
|
"state": "EXCLUDED",
|
|
"reasons": [
|
|
"jacoco-filtered:other"
|
|
],
|
|
"complexity": null,
|
|
"statusCounts": {},
|
|
"contradictedMutants": 0,
|
|
"excludedMutants": null,
|
|
"denominator": null,
|
|
"mutationScore": null,
|
|
"mutationCrap": null,
|
|
"mutationCrapExact": null,
|
|
"sourceFile": "Grade.java",
|
|
"firstLine": null
|
|
},
|
|
{
|
|
"class": "demo.Legacy",
|
|
"method": "run",
|
|
"descriptor": "()V",
|
|
"state": "COMPLEXITY_UNAVAILABLE",
|
|
"reasons": [
|
|
"complexity-unavailable",
|
|
"method-not-in-inventory"
|
|
],
|
|
"complexity": null,
|
|
"statusCounts": {
|
|
"SURVIVED": 1
|
|
},
|
|
"contradictedMutants": 0,
|
|
"excludedMutants": null,
|
|
"denominator": null,
|
|
"mutationScore": null,
|
|
"mutationCrap": null,
|
|
"mutationCrapExact": null,
|
|
"sourceFile": null,
|
|
"firstLine": null
|
|
}
|
|
],
|
|
"classes": [
|
|
{
|
|
"class": "demo.Classifier",
|
|
"lcom4": 2,
|
|
"methodGroups": [
|
|
[
|
|
"classify",
|
|
"normalize",
|
|
"retry"
|
|
],
|
|
[
|
|
"compare",
|
|
"describe"
|
|
]
|
|
],
|
|
"efferentCoupling": 1,
|
|
"afferentCoupling": 0,
|
|
"complexity": 11,
|
|
"killed": 6,
|
|
"denominator": 11,
|
|
"mutationScore": 0.5454545454545455,
|
|
"changeRisk": null,
|
|
"changeRiskExact": null,
|
|
"changeRiskReasons": [
|
|
"method-not-scored:retry(I)I"
|
|
]
|
|
},
|
|
{
|
|
"class": "demo.Grade",
|
|
"lcom4": null,
|
|
"methodGroups": [],
|
|
"efferentCoupling": 0,
|
|
"afferentCoupling": 1,
|
|
"complexity": null,
|
|
"killed": null,
|
|
"denominator": null,
|
|
"mutationScore": null,
|
|
"changeRisk": null,
|
|
"changeRiskExact": null,
|
|
"changeRiskReasons": [
|
|
"no-scored-methods"
|
|
]
|
|
}
|
|
]
|
|
}
|