Understanding the downstream effects of code changes is essential for software maintenance, debugging, and regression testing. This task is particularly challenging for JavaScript applications, where dynamic language features such as callbacks, events, asynchronous execution, and shared mutable state make dependencies difficult to infer precisely. Existing change impact recommendation approaches rely primarily on either dependency-based analysis or repository mining. Dependency-based techniques, particularly dynamic analysis, capture runtime interactions from observed execution but may miss relationships not exercised during analysis. In contrast, history-based techniques uncover evolutionary coupling from past changes but often introduce imprecise recommendations due to noisy co-change patterns. To investigate the strengths and limitations of these approaches in JavaScript, we engineer and evaluate three recommendation techniques: a history-based approach using co-change pattern mining, a dynamic dependency-based approach, and a hybrid approach combining both signals. We implement these techniques in a unified framework, Caprese, and evaluate them on 10 open-source Node.js applications using expert-curated reference inspection sets. Our results reveal low overlap between candidates identified by history-based and dynamic analyses, with only 22% overlap at broader inspection budgets, indicating that the two approaches capture complementary impact signals. Dynamic analysis generally yields higher precision, while history-based analysis identifies additional relevant candidates missed by dependency analysis. These findings suggest that practical change impact recommendation in JavaScript benefits from combining runtime and evolutionary signals, as no single technique sufficiently captures all relevant inspection candidates.


翻译:暂无翻译

0
下载
关闭预览

相关内容

《语言模型的推理时间学习算法》162页博士论文
专知会员服务
16+阅读 · 2025年11月23日
FlowQA: Grasping Flow in History for Conversational Machine Comprehension
专知会员服务
35+阅读 · 2019年10月18日
Stabilizing Transformers for Reinforcement Learning
专知会员服务
61+阅读 · 2019年10月17日
Transferring Knowledge across Learning Processes
CreateAMind
29+阅读 · 2019年5月18日
近期语音类前沿论文
深度学习每日摘要
14+阅读 · 2019年3月17日
利用动态深度学习预测金融时间序列基于Python
量化投资与机器学习
18+阅读 · 2018年10月30日
国家自然科学基金
18+阅读 · 2017年12月31日
国家自然科学基金
1+阅读 · 2015年12月31日
国家自然科学基金
7+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
1+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2014年12月31日
国家自然科学基金
0+阅读 · 2014年12月31日
国家自然科学基金
0+阅读 · 2014年12月31日
Arxiv
0+阅读 · 6月16日
Arxiv
34+阅读 · 2022年2月15日
Arxiv
11+阅读 · 2021年10月26日
VIP会员
最新内容
边缘计算的军事应用
专知会员服务
5+阅读 · 8月9日
一种考虑资源机动性的武器目标分配混合算法
专知会员服务
8+阅读 · 8月8日
《多域冲突比较支持模型》60页
专知会员服务
13+阅读 · 8月7日
相关基金
国家自然科学基金
18+阅读 · 2017年12月31日
国家自然科学基金
1+阅读 · 2015年12月31日
国家自然科学基金
7+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
1+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2014年12月31日
国家自然科学基金
0+阅读 · 2014年12月31日
国家自然科学基金
0+阅读 · 2014年12月31日
Top
微信扫码咨询专知VIP会员