paperbot · PL 论文追踪

全部论文 待读 收藏

P2 Leakpair: Proactive Repairing of Memory Leaks in Single Page Web Applications

Leakpair:单页 Web 应用中内存泄漏的主动修复
ASE 2023 38th IEEE/ACM International Conference on Automated Software Engineering (ASE)2023匹配度 1/10 · 该论文研究单页 Web 应用的内存泄漏自动修复,属于程序修复/软件工程范畴,但与用户关注的 PL 与 AI/LLM 交叉、Agentic 程序静态分析、浮点程序分析或贝叶斯程序分析均无明显关系。其方法基于模式匹配修复,不涉及 LLM、形式化验证或用户关心的核心问题。引用 9 inbox
Arooba Shahoor, Askar Yeltayuly Khamit, Jooyong Yi, Dongsun Kim
crossref: 2026-09-12dblp: 2026-09-12arxiv: 2026-09-12

AI 速览

一句话:提出 Leakpair,无需泄漏检测,基于模式主动为单页 Web 应用生成内存泄漏修复补丁。

现代 Web 应用常借助 React、Vue.js、Angular 等框架开发,这些框架多生成单页应用(SPA),而 SPA 可能长时间运行且存在行为循环,因此即使单个内存泄漏也会导致客户端性能下降。现有调试技术仍以内存泄漏检测为主,依赖人工且结果不精确。本文提出 Leakpair,其核心洞察是内存泄漏多为非功能性缺陷,修复通常不改变应用行为,因此该技术跳过繁重的泄漏检测,直接采用基于模式的程序修复策略,主动生成修复补丁。作者在 20 多个开源项目上评估该技术,并将生成的补丁以 pull request 形式提交给项目。结果表明,Leakpair 能生成有效降低内存消耗且被开发者接受的补丁;应用补丁后运行项目测试套件,也未造成功能破坏,说明其可生成非侵入式的内存泄漏修复补丁。

问题
单页 Web 应用常长时间运行,单个内存泄漏即可造成客户端性能下降,而现有调试技术侧重依赖人工且不精确的泄漏检测。
方法
基于内存泄漏多为非功能性缺陷、修复通常不改变行为的洞察,跳过显式泄漏检测,采用基于模式的程序修复主动生成补丁。
评估
在 20 多个开源项目上生成补丁并以 pull request 提交,同时应用补丁后运行项目自带测试套件,检验内存消耗降低效果与功能是否被破坏。
原文摘要(Abstract)

Modern web applications often resort to application development frameworks such as React, Vue.js, and Angular. While the frameworks facilitate the development of web applications with several useful components, they are inevitably vulnerable to unmanaged memory consumption since the frameworks often produce Single Page Applications (SPAs). Web applications can be alive for hours and days with behavior loops, in such cases, even a single memory leak in a SPA app can cause performance degradation on the client side. However, recent debugging techniques for web applications still focus on memory leak detection, which requires manual tasks and produces imprecise results. We propose Leakpair,a technique to repair memory leaks in single page applications. Given the insight that memory leaks are mostly non-functional bugs and fixing them might not change the behavior of an application, the technique is designed to proactively generate patches to fix memory leaks, without leak detection, which is often heavy and tedious. To generate effective patches, Leakpairfollows the idea of pattern-based program repair since the automated repair strategy shows successful results in many recent studies. We evaluate the technique on more than 20 open-source projects without using explicit leak detection. The patches generated by our technique are also submitted to the projects as pull requests. The results show that Leakpaircan generate effective patches to reduce memory consumption that are acceptable to developers. In addition, we execute the test suites given by the projects after applying the patches, and it turns out that the patches do not cause any functionality breakage; this might imply that Leakpaircan generate non-intrusive patches for memory leaks.

链接与引用

DOI 原文 · arXiv · PDF(开放获取) · DBLP

BibTeX
@inproceedings{abs-2308-08144,
  title = {Leakpair: Proactive Repairing of Memory Leaks in Single Page Web Applications},
  author = {Arooba Shahoor and Askar Yeltayuly Khamit and Jooyong Yi and Dongsun Kim},
  booktitle = {ASE},
  year = {2023},
  doi = {10.1109/ase56229.2023.00097}
}