Skip to content

atom-sw/fauxpy

Repository files navigation

FauxPy

PyPI version Downloads Documentation Status Research Open Source GitHub Tests

What is FauxPy?

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.

Features

FauxPy supports seven classic fault localization techniques in four families:

  1. SBFL (spectrum-based) techniques Tarantula, Ochiai, and DStar.
  2. MBFL (mutation-based) techniques Metallaxis and Muse.
  3. PS (predicate switching) fault localization.
  4. 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.

Documentation

Full documentation is available at FauxPy documentation.

Installation

To install FauxPy, follow the instructions in the Installation Guide.

Usage

For quick examples of how to use FauxPy, refer to the Quick Start Guide.

Command-Line Options

For a detailed list of command-line options, refer to the Command-Line Options Guide.

How to Cite

If you use this tool in your research, please cite it as described in our citation guide: How to Cite

Mirrors

This repository is a public mirror of (part of) FauxPy's private development repository. There are two public mirrors, whose content is identical: