Skip to content

Latest commit

 

History

65 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Code Context Compression for Automated Issue Resolution

This repository contains the implementation and artifacts for Code Context Compression in Automated Issue Resolution. This research aims to identify the minimal sufficient context required for Large Language Models (LLMs) to successfully resolve software bugs. By systematically reducing the input context provided to repair agents, we construct a high-quality dataset of minimal sufficient contexts, enabling more efficient and accurate program repair.

ASE 2026 reproduction package: https://zenodo.org/records/19248411

📂 Repository Structure

/
├── app/                # Core application logic
│   ├── compress/       # Context compression pipeline
│   └── ...
├── context/            # Agentless submodule and context data
├── dataset/            # Input and output datasets (SWE-bench, etc.)
├── experiments/        # Experimental logs and validation results (untracked)
└── ...

🛠️ Installation

  1. Clone the repository:

    git clone https://github.com/msv-lab/SWEzze.git
    cd SWEzze
  2. Install dependencies: Ensure you have Python 3.9+ installed.

    pip install -r requirements.txt
  3. Environment Setup: Set up the required API keys (e.g., OpenAI, Anthropic, or local vLLM endpoints) in a .env file or environment variables.

🚀 Usage

Running the Compression Pipeline

The core utility for minimizing context is app.compress.cli.compress. It uses parallel workers and majority voting to ensure robust evaluation.

Basic Command:

python -m app.compress.cli.compress \
  --data_path dataset/resolved_repair_info.jsonl \
  --model <model_name> \
  --backend vllm \
  --threads 4

Full Configuration (SWE-bench Integration):

To run with full validation using the SWE-bench harness:

python -m app.compress.cli.compress \
  --data_path dataset/resolved_repair_info.jsonl \
  --model <model_name> \
  --backend vllm \
  --threads 4 \
  --eval_workers 0 \
  --majority_voting 5 \
  --candidates 5 \
  --use_harness true \
  --harness_workers 0

Parameters

  • --data_path: Path to the input JSONL file containing resolved instances.
  • --model: Name of the LLM to use for patch generation.
  • --backend: LLM backend (vllm, openai, anthropic).
  • --threads: Number of concurrent compression threads.
  • --eval_workers: Workers for parallel evaluation (0 = auto-detect).
  • --majority_voting: Number of attempts to generate a patch for validation (default: 5).
  • --use_harness: Enable SWE-bench dockerized evaluation (default: true).

About

No description, website, or topics provided.

Resources

Stars

5 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages