arrow
返回

Patchworking: Exploring the code changes induced by vulnerability fixing activities

delete2022-02-01
delete6
PRE
AI
G
Gerardo Canfora
A
Andrea Di Sorbo
S
Sara Forootani *
M
Matías Martínez
C
Corrado Aaron Visaggio
DOI:10.1016/j.infsof.2021.106745delete
delete原文链接
delete分享
delete收藏
摘要

摘要

En 中文
Context: Identifying and repairing vulnerable code is a critical software maintenance task. Change impact analysis plays an important role during software maintenance, as it helps software maintainers to figure out the potential effects of a change before it is applied. However, while the software engineering community has extensively studied techniques and tools for performing impact analysis of change requests, there are no approaches for estimating the impact when the change involves the resolution of a vulnerability bug. Objective: We hypothesize that similar vulnerabilities may present similar strategies for patching. More specifically, our work aims at understanding whether the class of the vulnerability to fix may determine the type of impact on the system to repair. Method: To verify our conjecture, in this paper, we examine 524 security patches applied to vulnerabilities belonging to ten different weakness categories and extracted from 98 different open-source projects written in Java. Results: We obtain empirical evidence that vulnerabilities of the same types are often resolved by applying similar code transformations, and, thus, produce almost the same impact on the codebase. Conclusion: On the one hand, our findings open the way to better management of software maintenance activities when dealing with software vulnerabilities. Indeed, vulnerability class information could be exploited to better predict how much code will be affected by the fixing, how the structural properties of the code (i.e., complexity, coupling, cohesion, size) will change, and the effort required for the fix. On the other hand, our results can be leveraged for improving automated strategies supporting developers when they have to deal with security flaws.
Keyword:
Software vulnerabilities
Software maintenance
Empirical study

期刊

Information and Software Technology 封面图
Information and Software Technology
IF:
4.3
论文数:
3.8K
被引数:
7.7K

机构

U
université polytechnique hauts-de-france
学者数:
44
论文数: 15
被引数: 0
U
university of sannio
学者数:
77
论文数: 34
被引数: 0
引用论文

引用论文

err
IF0
err
err0
PREAI
err
err分享
err收藏
The structural complexity of software: An experimental test
err2005-11-01
err88
errOAAI
errDarcy, DP; Kemerer, CF; Slaughter, SA; Tomayko, JE
err分享
err收藏
Summarizing vulnerabilities' descriptions to support experts during vulnerability assessment activities
err2019-10-01
err41
PREAI
errRusso, Ernesto Rosario; Di Sorbo, Andrea; Visaggio, Corrado A.; Canfora, Gerardo
err分享
err收藏
err分享
err收藏
Automated Program Repair
err2019-11-21
err231
PREAI
errLe Goues, Claire; Pradel, Michael; Roychoudhury, Abhik
err分享
err收藏
GenProg: A Generic Method for Automatic Software Repair
err2012-01-01
err594
PREAI
errLe Goues, Claire; ThanhVu Nguyen; Forrest, Stephanie; Weimer, Westley
err分享
err收藏
err分享
err收藏
学者 查看更多内容