paperbot · PL 论文追踪

全部论文 待读 收藏

P2 A Formal Treatment of Performance Bugs

性能缺陷的形式化处理
ASE Proceedings of the 39th IEEE/ACM International Conference on Automated Software Engineering2024匹配度 4/10 · 论文研究循环程序中性能缺陷的形式化刻画与补丁验证,属于程序验证/程序分析方向,与用户关注的形式化验证有间接联系;但它不涉及 LLM/Agent、浮点程序分析或贝叶斯程序分析,也不是在机器学习系统或 Agentic 程序中应用静态分析,因此与核心研究方向匹配度有限。引用 1 inbox
Omar I. Al-Bataineh
crossref: 2026-09-12dblp: 2026-09-12

AI 速览

一句话:提出用程序不变式形式化刻画循环程序中的性能缺陷,并支持补丁的形式化验证与加速评估。

本文针对循环程序中的性能缺陷提出形式化修复框架。性能缺陷指程序语义正确、却因某些输入执行低效的错误,传统基于测试的补丁验证无法形式化保证补丁质量。作者基于“存在性能缺陷的程序仍是语义正确的程序”这一观察,引入程序不变式来形式化处理性能缺陷:在原程序上增加若干非功能变量,用导出的不变式评估补丁版本相对原版本的执行效率。该框架有两大优势:一是可用程序验证器对补丁进行形式化验证;二是可量化补丁带来的效率提升。作者指出,这是此前文献中未被研究过的性能缺陷形式化处理方向。

问题
循环程序中的性能缺陷(语义正确但执行低效)缺乏形式化刻画与验证手段,传统基于测试的补丁验证无法保证补丁的正确性与效率提升。
方法
基于程序不变式,向原程序注入非功能变量以度量执行效率,从而形式化定义性能缺陷,并借助程序验证器对补丁进行形式化验证与加速评估。
评估
论文属于形式化框架与理论工作,通过论证其相对于传统测试式补丁验证的两大优势(形式化验证与效率提升评估)来展示方法价值,未报告具体实验数据。
原文摘要(Abstract)

This paper describes a formal repair framework for performance bugs in loop programs, which are programming errors that slow down program execution. The approach is developed based on the observation that a program with a performance bug is a semantically correct program, but it may perform inefficiently for some inputs. This observation permits the formal treatment of performance bugs using the idea of program invariants, where the original program is augmented with a number of non-functional variables that are used to assess the efficiency of the patched version vs. the original program using the derived invariants. The proposed approach offers two major advantages compared to the conventional test-based patch validation approach. First, it enables the formal validation of patches using program verifiers. Second, it helps to assess the efficiency boost provided by the generated patches. To the best of our knowledge, the formal treatment of performance bugs has not been studied in the prior literature.

链接与引用

DOI 原文 · DBLP

BibTeX
@inproceedings{Al-Bataineh24a,
  title = {A Formal Treatment of Performance Bugs},
  author = {Omar I. Al-Bataineh},
  booktitle = {ASE},
  year = {2024},
  doi = {10.1145/3691620.3695288}
}