Artifact for ASE 2026 Submission#1047
收藏资源简介:
1. The Benchmark Dataset Dataset- Performance Faults.csv: The core runtime-validated benchmark containing 2,479 bug-fix pairs extracted from six major Java repositories (HBase, Commons Pool, Spring, Guava, Glide, and Elasticsearch).2. Dataset Curation Pipeline (Stages 1–4): 01_mine_repositories.py and 01_mine_commits.py: Implements repository mining to identify candidate performance-relevant commits.02_extract_methods.py: A custom git-diff parser used to isolate before-fix and after-fix method versions.02_generate_jmh_harnesses.py: Automates the construction of JMH microbenchmark harnesses to execute code under controlled conditions.03_dynamic_validation.py: Executes the statistical validation protocol (Wilcoxon signed-rank test, $p < 0.05$) to confirm measurable runtime degradation.3. The FAULTEMBED Framework: 04_generate_embeddings.py: Generates structural vector representations using a frozen GraphCodeBERT backbone to capture data-flow graphs (DFGs).05_faultembed_classifier.py: The primary implementation of the retrieval-augmented classification pipeline (Algorithm 1), integrating FAISS similarity search and Random Forest classification.faultembed_ci.py: A lightweight implementation designed for deterministic screening within performance-aware CI/CD pipelines.4. Evaluation & Baselines 06_baselines.py: Scripts to execute and compare against the 17 baselines evaluated in the study, including rule-based tools (SonarQube, Infer) and LLM prompting paradigms.Technical Requirements: Python 3, Dependencies: transformers (for GraphCodeBERT), faiss-cpu, scikit-learn, and pandas.Java Development Kit (JDK): Required for running the JMH harnesses during the validation stage.
1. 基准数据集 性能故障数据集.csv:这是经过运行时验证的核心基准数据集,包含从6个主流Java仓库(HBase、Commons Pool、Spring、Guava、Glide及Elasticsearch)中提取的2479个缺陷修复对。 2. 数据集构建流水线(第1-4阶段): 01_mine_repositories.py与01_mine_commits.py:实现仓库挖掘流程,用于识别与性能相关的候选提交。 02_extract_methods.py:一款自定义Git差异解析器,用于分离缺陷修复前与修复后的方法版本。 02_generate_jmh_harnesses.py:自动构建Java微基准测试套件(Java Microbenchmark Harness,JMH),以在受控环境下执行代码。 03_dynamic_validation.py:执行统计验证流程(Wilcoxon符号秩检验,$p<0.05$),以确认存在可量化的运行时性能退化。 3. FAULTEMBED框架: 04_generate_embeddings.py:使用冻结的GraphCodeBERT主干网络生成结构向量表示,以捕获数据流图(Data-Flow Graph,DFG)。 05_faultembed_classifier.py:检索增强型分类流水线(算法1)的核心实现,集成FAISS(Facebook AI Similarity Search)相似度搜索与随机森林分类。 faultembed_ci.py:一款轻量级实现,专为性能感知型持续集成/持续交付(Continuous Integration/Continuous Delivery,CI/CD)流水线中的确定性筛查而设计。 4. 评估与基准测试 06_baselines.py:用于执行本研究中评估的17项基准测试并与之对比的脚本,涵盖基于规则的工具(SonarQube、Infer)以及大语言模型(Large Language Model,LLM)提示范式。 技术要求:Python 3;依赖库:transformers(用于GraphCodeBERT)、faiss-cpu、scikit-learn及pandas。 Java开发套件(Java Development Kit,JDK):验证阶段运行JMH微基准测试套件时所需的依赖。



