Skip to content

KSU-SDML/statica-artifact

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Statica: Artifact

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.

Repository Structure

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/ through 5/: 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.csv through 5.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).

About

No description, website, or topics provided.

Resources

License

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages