ISEA: Intelligent Software Engineering Agent

Advanced AI-Powered Autonomous Software Engineering

51.33%
SWE-bench Lite Success Rate

SWE-bench Lite Leaderboard šŸ†•

Rank System Score (%) Date Status
šŸ„‡ ExpeRepair-v1.0 + Claude 4 Sonnet 60.33 2025-06-25 āœ… Active
🄈 Refact.ai Agent 60.00 2025-04-25 āœ… Active
šŸ„‰ SWE-agent + Claude 4 Sonnet 56.67 2025-05-26 āœ… Active
4 ISEA + Claude 3-5 Sonnet (Ours) 51.33 2025-09-10 šŸš€ Competitive
5 ExpeRepair-v1.0 48.33 2025-06-13 āœ… Active
6 SWE-agent + Claude 3.7 Sonnet 48.00 2025-02-26 āœ… Active
7 DARS Agent 47.00 2025-02-05 āœ… Active

šŸš€ System Overview

ISEA is an advanced multi-agent issue fixing system that achieves a 51.33% success rate on SWE-bench Lite, ranking #4 among all submissions. The system combines Neo4j knowledge graphs, specialized AI agents, and intelligent patch generation to automatically locate, analyze, and fix software issues.

šŸ—ļø Multi-Agent Architecture

Neo4j Knowledge Graph

Code structure & relationships

→

Locator Agent

Identifies ≤5 issue locations

→

Suggester Agent

Proposes repair strategies

→

Fixer Agent

Generates 40 patch variants

Core Components

🧠 LangGraph State Management

Sophisticated state graph orchestrating agent interactions and maintaining conversation context throughout the debugging process.

šŸ” Neo4j Knowledge Graph

Comprehensive code structure database enabling intelligent navigation and relationship analysis across the codebase.

šŸ› ļø Advanced Tool Framework

14 specialized tools for code analysis, search, and manipulation, powered by custom Neo4j queries and file operations.

šŸ”„ Dynamic Summarization

Intelligent context management that summarizes long conversations to maintain focus and prevent token limit issues.

šŸ› ļø Comprehensive Tool Suite

šŸ”— Core Neo4j Knowledge Graph Tools (9 tools)

search_method_accurately
Extract the entire method body, including its definition line and all implementation code, from a given file based on the file path and fully qualified method name.
search_method_fuzzy
Search for all methods in files that contain the given method name.
get_relevant_entities
Get code relationships for a method by its file and full qualified name.
get_all_classes_and_methods
List all classes and methods inside a Python file.
search_constructor_in_class
Find and return constructor method in a given class.
search_field_variables_of_class
Return all field variables of a class from the knowledge graph.
extract_imports
Extract all import statements from a Python file.
search_for_file_by_keyword_in_neo4j
Search Neo4j for files which files'content contain a keyword.
search_variable_by_only_name
Find all variables that match a given name.

šŸ“ File System & Analysis Tools (3 tools)

browse_project_structure
Return the directories and filenames under this path.
read_file_lines
Read specified line range from a file, automatically adjusting line numbers to ensure they don't exceed maximum lines or 50-line limit.
search_keyword_with_context
Search all .py files under the given directory for occurrences of the target keyword. For each match, return the matched line together with its surrounding context (3 lines before and 3 lines after), along with the file path and the start/end line numbers of the snippet.

Key Performance Metrics

51.33%
SWE-bench Lite Success Rate
40
Patch Variants Per Bug
4
Generation Rounds
5
Max Issue Locations
3
Specialized Agents
12
Total Specialized Tools

šŸ”„ Complete System Pipeline

ISEA Multi-Agent Issue Fixing Pipeline
Repository Input

SWE-bench Project

→
Neo4j Knowledge Graph

Code Structure Indexing

↓
Problem Statement

Bug Description Input

→
Locator Agent

Identifies ≤5 Locations

→
Suggester Agent

Receives Locations
+ Proposes Strategies

↓
Fixer Agent

Patch Implementation

Round 1: 10 patches
Round 2: 10 patches
Round 3: 10 patches
Round 4: 10 patches
→
Multi-Temperature Generation

T=0.0: 1 precise patch
T=0.8: 9 diverse patches

↓
40 Patch Candidates

Multi-variant Pool

→
4-Level Filtering
1. Regression Tests
2. Reproduction Tests
3. Normalization
4. Patch Size
→
Optimal Patch

Final Solution

āš™ļø Complete Workflow

šŸ“‹ 4-Phase Pipeline

šŸ—ļø

Phase 1: Repository Preprocessing

Neo4j Knowledge Graph Construction: Parse and index the entire repository into a comprehensive knowledge graph, capturing classes, methods, variables, and their relationships (inheritance, calls, references, etc.)

šŸŽÆ

Phase 2: Issue Location Analysis

Input: Problem Statement from SWE-bench

Locator Agent: Analyzes problem description, navigates knowledge graph, identifies up to 5 suspicious issue locations

Suggester Agent: Receives identified locations, collects contextual information, proposes coordinated repair strategies

Output: Issue locations + comprehensive repair suggestions

šŸ”§

Phase 3: Multi-Round Patch Generation

Fixer Agent: Implements coordinated patches for identified locations

Generation Strategy:

  • 4 rounds Ɨ 10 patches = 40 total variants
  • Each round: 1 precise patch (T=0.0) + 9 diverse patches (T=0.8)
  • Multi-location coordination for interconnected fixes
šŸ†

Phase 4: Intelligent Patch Selection

4-Level Filtering Hierarchy:

  1. Regression Test Pass Rate: Select patches with maximum passing tests
  2. Reproduction Test Pass Rate: Prioritize patches that pass original reproduction tests
  3. Normalized Patch Diversity: Choose most frequent normalized patterns
  4. Patch Size Optimization: Prefer patches with larger meaningful changes

Intelligent State Management

šŸ”„ Dynamic Routing

Conditional edges route between agents based on current state and message content, enabling adaptive workflow management.

šŸ“ Context Summarization

Automatic conversation summarization when message count exceeds thresholds, maintaining essential context while preventing token overflow.

šŸ›”ļø Error Recovery

Robust error handling with JSON parsing fallbacks and tool execution error management.

šŸ“Š API Statistics

Comprehensive tracking of API calls, token usage, and performance metrics for optimization and analysis.

šŸ’» Technical Implementation

Knowledge Graph Schema

# Neo4j Node Types and Relationships

Nodes: Class, Method, Variable, Test

Relationships:
  ā€¢ BELONGS_TO: Method/Variable → Class
  ā€¢ CALLS: Method → Method
  ā€¢ HAS_METHOD: Class ↔ Method
  ā€¢ HAS_VARIABLE: Class ↔ Variable
  ā€¢ INHERITS: Class → Class
  ā€¢ REFERENCES: Method → Variable/Class
  ā€¢ TESTED: Method → Test

Interactive Neo4j Knowledge Graph Visualization

Interactive Neo4j knowledge graph: Drag nodes to reposition • Click nodes to highlight connections • Hover for details
Shows real relationships: Classes (pink), Methods (blue), Variables (orange) with CALLS, BELONGS_TO, HAS_METHOD edges

Complete Pipeline Implementation

# ISEA Complete Workflow Pseudocode

## Phase 1: System Initialization
INITIALIZE multi_agent_system
SET precise_llm = LLM(model=CLAUDE_SONNET, temperature=0.0)
SET creative_llm = LLM(model=CLAUDE_SONNET, temperature=0.8)

CREATE Agent_Locator(tools=NEO4J_TOOLS + FILE_TOOLS)
CREATE Agent_Suggester(tools=NEO4J_TOOLS + FILE_TOOLS)
CREATE Agent_Fixer(tools=NEO4J_TOOLS + FILE_TOOLS)

## Phase 2: Multi-Agent Workflow Execution
INITIALIZE workflow_graph = StateGraph(AgentState)
ADD_NODES(Locator, Suggester, Fixer, ToolNodes, Summarizer)
ADD_CONDITIONAL_EDGES(routing_logic)
COMPILE workflow_graph

EXECUTE workflow_graph.stream(initial_state)
    ā†’ Locator identifies ≤5 issue locations
    ā†’ Suggester analyzes context and proposes repair strategies
    ā†’ Fixer generates coordinated patches

## Phase 3: Multi-Variant Patch Generation
FOR EACH issue_location IN identified_locations:
    BUILD context_prompt(location, surrounding_code, imports, suggestions)

    // Generate precise patch variant
    precise_patch = precise_llm.INVOKE(context_prompt)
    EXTRACT code_block FROM precise_patch.response
    STORE precise_patch[location_id] = extracted_code

    // Generate diverse patch variants
    diverse_patches = []
    FOR variant_num = 1 TO 8:
        variant_response = creative_llm.INVOKE(context_prompt)
        variant_code = EXTRACT_CODE(variant_response)
        diverse_patches.APPEND(variant_code)
    END FOR
    STORE variant_patches[location_id] = diverse_patches
END FOR

## Phase 4: Atomic Multi-File Patch Application
FUNCTION apply_patches_and_generate_diff(patch_collection):
    file_modifications = CREATE_EMPTY_MAP()
    // Group patches by target files
    FOR EACH location, patch_code IN patch_collection:
        target_file = GET_FILE_PATH(location)
        line_range = GET_LINE_RANGE(location)
        file_modifications[target_file].ADD(line_range, patch_code)
    END FOR

    // Apply modifications atomically (reverse order)
    FOR EACH file IN file_modifications:
        original_content = READ_FILE(file)
        modifications = SORT_REVERSE_BY_LINE_NUMBER(file_modifications[file])
        FOR EACH modification IN modifications:
            REPLACE_LINES(original_content, modification.range, modification.code)
        END FOR
        WRITE_FILE(file, modified_content)
    END FOR

    diff_output = EXECUTE_GIT_DIFF(repository_root)
    RESTORE_ORIGINAL_FILES(original_state)
    RETURN diff_output
END FUNCTION

## Phase 5: Comprehensive Results Export
all_patch_variants = INITIALIZE_COLLECTION()
all_patch_variants["precise_patches"] = precise_patches
FOR variant_index = 1 TO 8:
    variant_set = EXTRACT_VARIANT(diverse_patches, variant_index)
    variant_diff = apply_patches_and_generate_diff(variant_set)
    all_patch_variants[f"variant_{variant_index}"] = variant_diff
END FOR

final_results = {
    "patch_variants": all_patch_variants,
    "git_diffs": diff_collection,
    "metadata": execution_statistics
}
EXPORT_JSON(final_results, output_directory)

Key Technical Innovations

šŸ” CKGRetriever Integration

Custom Neo4j retriever with singleton pattern ensuring efficient database connections and query optimization.

šŸŽ›ļø Dynamic Temperature Control

Variable temperature settings (0.0 for precision, 0.8 for creativity) optimizing patch generation diversity.

šŸ“ Intelligent Truncation

Smart output truncation preventing token overflow while preserving essential information integrity.

šŸ”§ Process Management

Sophisticated patch processing with line number management and context preservation.

Model Configuration

# LLM System Configuration
PRIMARY_MODEL = ADVANCED_LLM_BACKEND
TEMPERATURE_PRECISE = 0.0 // Deterministic responses
TEMPERATURE_CREATIVE = 0.8 // Diverse solution generation
CONTEXT_THRESHOLD = 16 // Message count for summarization trigger
TOKEN_OPTIMIZATION = ENABLED // Intelligent content compression

# Performance Monitoring System
ENABLE api_statistics_collection()
TRACK prompt_content, response_content
MONITOR token_usage(prompt_tokens, completion_tokens, total_tokens)
LOG execution_timestamps
EXPORT performance_metrics TO json_format
IMPLEMENT real_time_analytics_dashboard()

Core Agent State Definition

# Multi-Agent State Management Schema

DEFINE AgentState EXTENDS MessagesState:
    // Core workflow state
    conversation_history: MessageSequence
    issue_locations: List[LocationDescriptor]
    repair_suggestions: StrategicAnalysis
    generated_patches: PatchCollection

    // Agent coordination flags
    locator_ready: Boolean
    suggester_ready: Boolean
    fixer_ready: Boolean

    // Context management
    conversation_summary: CompressedContext
    current_agent: AgentIdentifier
    next_agent: AgentIdentifier
    execution_metrics: PerformanceCounters

    // Problem context
    problem_statement: ProblemDescription
    project_context: ProjectMetadata
    failed_attempts: List[FailureRecord]
END DEFINE

šŸ“Š Performance Results & Analysis

Advanced Multi-Round Patch Generation Strategy

šŸŽÆ 40-Variant Strategy

4 Rounds Ɨ 10 Patches
Each round: 1 precise patch (T=0.0) + 9 diverse patches (T=0.8)
Total: 40 candidate solutions per issue

šŸ”§ Temperature-Based Diversity

Precision vs Creativity Balance
T=0.0: Deterministic, focused solutions
T=0.8: Creative, diverse approaches

šŸ“Š 4-Level Selection Hierarchy

Intelligent Filtering Process
1. Regression test pass rate
2. Reproduction test validation
3. Normalized pattern frequency
4. Patch size optimization

⚔ Multi-Location Coordination

Interconnected Fixes
Up to 5 issue locations
Coordinated patch application
Atomic rollback on failure

šŸŽÆ Future Enhancements & Optimization Roadmap

Performance Gap Analysis: 9% gap to current leader (60.33%) presents clear optimization opportunities

Next Steps:

• Claude 4 Integration: Upgrading to latest language model for enhanced reasoning

• Multimodal Integration: Adding vision capabilities for diagram and UI debugging

• Advanced Test Generation: Automatic test case creation for patch validation

• Performance Optimization: Enhanced caching and parallel processing