MCPcopy Index your code
hub / github.com/ASSERT-KTH/flacoco

github.com/ASSERT-KTH/flacoco @v1.0.6

Chat with this repo
repository ↗ · DeepWiki ↗ · release v1.0.6 ↗ · + Follow
10,455 symbols 39,945 edges 934 files 6,026 documented · 58%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

flacoco · tests codecov Supported Platforms Maven Central

flacoco is a fault localization tool for Java based on Jacoco and test-runner that aims at encompassing several fault localization techniques.

  • Ease of use: With an intuitive, reliable and stable API, flacoco can be easily used in other projects such as automated program repair tools.
  • Compatibility:
    • Supports JUnit3, JUnit4 and JUnit5.
    • Supports Java 1 to Java 17 bytecode.
    • Runs on Java 8 to Java 17.
    • Runs on Linux, MacOS and Windows.
  • Stability: Tests are executed in an isolated JVM.

If you use flacoco in academic research, please cite "FLACOCO: Fault Localization for Java based on Industry-grade Coverage", Technical report, arXiv 2111.12513, 2021.

@techreport{flacoco2021,
 title = {FLACOCO: Fault Localization for Java based on Industry-grade Coverage},
 year = {2021},
 author = {André Silva and Matias Martinez and Benjamin Danglot and Davide Ginelli and Martin Monperrus},
 url = {http://arxiv.org/pdf/2111.12513},
 number = {2111.12513},
 institution = {arXiv},
}

Installation

flacoco is currently available through Maven Central and as a SNAPSHOT

You can use it by installing locally yourself (if you do so, the install version will be 1.0.6-SNAPSHOT), or by adding flacoco as a maven dependency:

$ mvn install -DskipTests
<dependency>
    <groupId>com.github.spoonlabs</groupId>
    <artifactId>flacoco</artifactId>
    <version>1.0.5</version>
</dependency>

Documentation

The documentation lives in the Github wiki at https://github.com/SpoonLabs/flacoco/wiki

Contributing

License

MIT License

Pull requests

External contributions are welcome.

Related tools

  • https://github.com/SpoonLabs/CoCoSpoon/
  • https://github.com/GZoltar/gzoltar/
  • https://github.com/saeg/jaguar

Extension points exported contracts — how you extend this code

RandomGenerator (Interface)
Interface extracted from java.util.Random . This interface is implemented by {@link AbstractRandomGenerator [10 implementers]
examples/math_70/src/main/java/org/apache/commons/math/random/RandomGenerator.java
Nestable (Interface)
An interface to be implemented by java.lang.Throwable extensions which would like to be able to nest root except [14 implementers]
examples/cl2/src/java/org/apache/commons/lang/exception/Nestable.java
TestMethod (Interface)
Test unit representation for flacoco @author andre15silva [4 implementers]
src/main/java/fr/spoonlabs/flacoco/core/test/method/TestMethod.java
RandomVectorGenerator (Interface)
This interface represents a random generator for whole vectors. @since 1.2 @version $Revision$ $Date$ [6 implementers]
examples/math_70/src/main/java/org/apache/commons/math/random/RandomVectorGenerator.java
StringIdentifierFactory (Interface)
StringIdentifierFactory defines a simple interface for String based identifier generation. @author [6 implementers]
examples/cl2/src/java/org/apache/commons/lang/util/StringIdentifierFactory.java
TestDetectionStrategy (Interface)
(no doc) [5 implementers]
src/main/java/fr/spoonlabs/flacoco/core/test/strategies/TestDetectionStrategy.java
RealMatrixChangingVisitor (Interface)
Interface defining a visitor for matrix entries. @see DefaultRealMatrixChangingVisitor @version $Revision$ $Date$ @sinc [7 …
examples/math_70/src/main/java/org/apache/commons/math/linear/RealMatrixChangingVisitor.java
Child (Interface)
(no doc) [7 implementers]
examples/cl2/src/test/org/apache/commons/lang/reflect/Child.java

Core symbols most depended-on inside this repo

append
called by 1308
examples/math_70/src/main/java/org/apache/commons/math/linear/RealVector.java
get
called by 654
examples/math_70/src/main/java/org/apache/commons/math/util/OpenIntToFieldHashMap.java
size
called by 527
examples/math_70/src/main/java/org/apache/commons/math/util/OpenIntToFieldHashMap.java
abs
called by 452
examples/math_70/src/main/java/org/apache/commons/math/complex/Complex.java
createIllegalArgumentException
called by 358
examples/math_70/src/main/java/org/apache/commons/math/MathRuntimeException.java
sqrt
called by 322
examples/math_70/src/main/java/org/apache/commons/math/complex/Complex.java
toComparison
called by 295
examples/cl2/src/java/org/apache/commons/lang/builder/CompareToBuilder.java
contains
called by 293
examples/cl2/src/java/org/apache/commons/lang/CharSet.java

Shape

Method 9,269
Class 1,037
Interface 138
Enum 11

Languages

Java100%

Modules by API surface

examples/math_70/src/test/java/org/apache/commons/math/estimation/MinpackTest.java112 symbols
examples/math_70/src/test/java/org/apache/commons/math/optimization/general/MinpackTest.java107 symbols
examples/math_70/src/test/java/org/apache/commons/math/linear/ArrayRealVectorTest.java105 symbols
examples/math_70/src/test/java/org/apache/commons/math/complex/ComplexTest.java102 symbols
examples/math_70/src/main/java/org/apache/commons/math/linear/AbstractRealVector.java100 symbols
examples/math_70/src/test/java/org/apache/commons/math/linear/SparseRealVectorTest.java98 symbols
examples/math_70/src/main/java/org/apache/commons/math/linear/RealVector.java93 symbols
examples/cl2/src/java/org/apache/commons/lang/time/FastDateFormat.java89 symbols
examples/cl2/src/test/org/apache/commons/lang/builder/ToStringBuilderTest.java85 symbols
examples/cl2/src/java/org/apache/commons/lang/builder/ToStringStyle.java76 symbols
examples/cl2/src/test/org/apache/commons/lang/exception/NestableDelegateTestCase.java73 symbols
examples/cl2/src/java/org/apache/commons/lang/StringUtils.java72 symbols

For agents

$ claude mcp add flacoco \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact