FauxPy (pronounced: foh pie) is an automated fault localization tool for Python programs.
It helps developers locate the root cause of software bugs using advanced dynamic analysis techniques.
🚀 New in FauxPy: LLM-Driven MBFL
FauxPy now supports LLM-Driven Mutation-Based Fault Localization!
This functionality is the result of integrating PyLLMut into FauxPy.
💡 Help improve FauxPy! Share your feedback in our Discussions.
FauxPy supports seven classic fault localization techniques in four families:
- SBFL (spectrum-based) techniques Tarantula, Ochiai, and DStar.
- MBFL (mutation-based) techniques Metallaxis and Muse.
- PS (predicate switching) fault localization.
- ST (stack-trace) fault localization.
It supports fault localization at the level of statements (statement-level granularity) and at the level of functions (function-level granularity).
FauxPy is based on dynamic analysis, and works seamlessly with tests written in:
FauxPy can also leverage large language models (LLMs) to improve fault localization effectiveness.
Full documentation is available at FauxPy documentation.
To install FauxPy, follow the instructions in the Installation Guide.
For quick examples of how to use FauxPy, refer to the Quick Start Guide.
For a detailed list of command-line options, refer to the Command-Line Options Guide.
If you use this tool in your research, please cite it as described in our citation guide: How to Cite
This repository is a public mirror of (part of) FauxPy's private development repository. There are two public mirrors, whose content is identical: