LeakPair:单页Web应用中内存泄漏的主动修复
软件工程
2023-08-17 v1 密码学与安全
摘要
现代Web应用常借助React、Vue.js和Angular等应用开发框架。尽管这些框架通过若干实用组件便利了Web应用的开发,但由于其通常生成单页应用(SPAs),不可避免地面临非受控内存消耗的风险。Web应用可能在行为循环中持续运行数小时乃至数天,在此情形下,SPA应用中的单个内存泄漏即可导致客户端性能下降。然而,近期面向Web应用的调试技术仍聚焦于内存泄漏检测,需人工介入且结果不够精确。我们提出LeakPair,一种修复单页应用中内存泄漏的技术。鉴于内存泄漏多为非功能性缺陷且修复未必改变应用行为,该技术被设计为主动生成补丁以修复内存泄漏,而无需通常繁重且繁琐的泄漏检测。为生成有效补丁,LeakPair遵循基于模式的程序修复思路,因该自动化修复策略在近期多项研究中成效显著。我们在超过20个开源项目上评估该技术,且未使用显式泄漏检测。该技术生成的补丁亦作为拉取请求提交至各项目。结果表明,LeakPair能生成有效补丁以降低内存消耗,并为开发者所接受。此外,我们在应用补丁后运行各项目自带的测试套件,发现补丁未引发任何功能破坏;这或表明LeakPair可为内存泄漏生成非侵入式补丁。
引用
@article{arxiv.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},
journal= {arXiv preprint arXiv:2308.08144},
year = {2023}
}
备注
13 pages, 3 figures, Accepted for ASE 2023