This repository contains the complete replication artifact and dataset for Statica, a compilation-independent approach that identifies static method candidates in C# codebases.
The artifact provides the necessary data to reproduce the empirical evaluation, including the ground-truth reference sets, the stereotyped source code representations, the evaluated open-source systems, and the detailed execution results across multiple independent runs.
The statica-artifact repository is organized into the following directories:
/reference_set: Contains the ground-truth data of static method candidates./raw: The initial reference set data from the Roslyn Analyzer./filtered: The refined reference set after manual verification and iterative build cycles./filtered_stereotyped: The final reference set strictly containing methods with identified stereotypes.
/scripts: Contains the Python scripts (analysis.py,statistics.py) used to evaluate Statica's performance, coverage, and calculate precision/recall metrics./statica: Contains the complete pipeline outputs and evaluation data for the four C# systems. Inside each system's directory (e.g.,Files-4.0.24), the structure is organized to reflect the five independent executions used in the evaluation:1/through5/: Directories representing the individual runs conducted to capture variation in the LLM and cascading stages. Each run directory provides a detailed analytical breakdown:statica_TP.csv,statica_FP.csv,statica_FN.csv: The True Positives, False Positives, and False Negatives utilized to calculate Precision, Recall, and F1-Scores.statica_rejected_direct.csv,statica_rejected_llm.csv,statica_rejected_cascading.csv: Logs of the methods eliminated at each specific stage of the filtering pipeline.
1.csvthrough5.csv: The aggregated output results for each respective execution.additional_candidates.csv: The validated list of the additional static method candidates Statica discovered that were inherently missed by the Roslyn analyzer.candidates_broken.csv: A log of methods excluded from the analysis (e.g., those utilizing unsupported C# constructs like specific lambda methods or interpolated strings).
/stereotypes: Contains the outputs generated by Stereocode for each system.*.metadata.csv: Detailed method-level and class-level metadata reports (e.g., field usage, inheritance).*.stereotypes.xml: The srcML archives annotated with method stereotype XML attributes.
/systems: The original, zipped source code repositories for the four target systems used in the evaluation.statistics.xlsx: An aggregated spreadsheet containing the raw execution logs, cross-run analysis, and execution time performance metrics (organized into "Runs", "Analysis", and "Performance" tabs).