fauxpy

An automated fault localization tool for Python programs.

https://github.com/atom-sw/fauxpy

Science Score: 44.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (15.5%) to scientific vocabulary

Keywords

fault-localization
Last synced: 6 months ago · JSON representation ·

Repository

An automated fault localization tool for Python programs.

Basic Info
Statistics
  • Stars: 23
  • Watchers: 0
  • Forks: 2
  • Open Issues: 0
  • Releases: 5
Topics
fault-localization
Created over 2 years ago · Last pushed 11 months ago
Metadata Files
Readme Changelog License Citation

README.md

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:

  • https://github.com/atom-sw/fauxpy
  • https://github.com/mohrez86/fauxpy

Owner

  • Name: ATOM software
  • Login: atom-sw
  • Kind: organization
  • Location: Switzerland

Automation in Software and Verification Technology Research Group at USI

Citation (CITATION.cff)

@article{Rezaalipour:2024,
 title={An empirical study of fault localization in {P}ython programs},
 author={Rezaalipour, Mohammad and Furia, Carlo A.},
 journal={Empirical Software Engineering},
 volume={29},
 number={4},
 pages={92},
 year={2024},
 publisher={Springer}
}

GitHub Events

Total
  • Release event: 5
  • Watch event: 6
  • Push event: 8
  • Create event: 5
Last Year
  • Release event: 5
  • Watch event: 6
  • Push event: 8
  • Create event: 5