Skip to main content

FixKit

Python Version GitHub release PyPI Build Status Coverage Status Licence Code style: black

FixKit is a collection of various automated program repair approaches and techniques. It is designed to be a flexible and extensible framework for experimenting with different repair strategies. The framework is written in Python for Python and is designed to be easy to use and extend.

Installation

To install FixKit, simply get the package from PyPI:

pip install fixkit

To install the latest version from the repository, use:

pip install git+https://github.com/smythi93/fixkit.git

Usage

FixKit is a library and can be used directly in your Python code.

from fixkit.repair.pygenprog import PyGenProg
from fixkit.localization.coverage import CoverageLocalization

repair = PyGenProg.from_source(
  src= "subjects/middle",
  excludes=["tests.py"],
  localization=CoverageLocalization(
    "subjects/middle",
    cov="middle",
    metric="Ochiai",
    tests=["tests.py"],
  ),
  population_size=40,
  max_generations=10,
)
patches = repair.repair()

Components

Individual components can be swapped out and replaced with custom implementations. The following components are currently available:

  • Fault Localization: Determines the location of the fault in the source code.
  • Repair Approach: Generates patches to fix the fault in the source code.
  • Search Strategy: Searches for patches in the search space.
  • Fitness Function: Evaluates the fitness of patches based on a given metric.
  • Selection Strategy: Selects patches for the next generation based on their fitness.
  • Crossover Strategy: Combines patches to create new patches.
  • Mutation Operators: Mutates patches to create new patches.
  • Minimization Strategy: Minimizes patches to reduce their size.

Metadata

Release files for fixkit 0.0.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for fixkit 0.0.1
File Size Uploaded Provenance
fixkit-0.0.1.tar.gz 41.2 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for fixkit 0.0.1
File Interpreter ABI Platform
fixkit-0.0.1-py3-none-any.whl Python 3 none any Details

Total release size: 91.4 kB

Release files / fixkit-0.0.1.tar.gz

Download URL fixkit-0.0.1.tar.gz
Size 41.2 kB
Tags Source
SHA-256 checksum
How to use checksums
1cdad83de5c1c692299529fd514b4a64a2bc71053a0c1a900e04d8625bcfc21d
BLAKE2b-256 checksum
How to use checksums
97614bf2ab7fd33aa30545128f79e05d8c61ef1cc5ce973084a76a2aacde8230
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.1

Release files / fixkit-0.0.1-py3-none-any.whl

Download URL fixkit-0.0.1-py3-none-any.whl
Size 50.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
a50c8c2e3c4b578521b202428a81be93cdfb8e0978b1e31524ec7816773ff6bf
BLAKE2b-256 checksum
How to use checksums
2498a5337628a2512b3ed66d570159a3a63fb015735ed3c920868007821a051e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.1

Security for fixkit 0.0.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.0.1 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page