What Can Self-Admitted Technical Debt Tell Us About Security? A Mixed-Methods Study

被引:0
|
作者
Ferreyra, Nicolas E. Diaz [1 ]
Shahin, Mojtaba [2 ]
Zahedi, Mansooreh [3 ]
Quadri, Sodiq [1 ]
Scandariato, Riccardo [1 ]
机构
[1] Hamburg Univ Technol, Hamburg, Germany
[2] RMIT Univ, Melbourne, Vic, Australia
[3] Univ Melbourne, Melbourne, Vic, Australia
关键词
self-admitted technical debt; software security; software engineering; technical debt identification;
D O I
10.1145/3643991.3644909
中图分类号
TP18 [人工智能理论];
学科分类号
081104 ; 0812 ; 0835 ; 1405 ;
摘要
Self-Admitted Technical Debt (SATD) encompasses a wide array of sub-optimal design and implementation choices reported in software artefacts (e.g., code comments and commit messages) by developers themselves. Such reports have been central to the study of software maintenance and evolution over the last decades. However, they can also be deemed as dreadful sources of information on potentially exploitable vulnerabilities and security flaws. Objective: This work investigates the security implications of SATD from a technical and developer-centred perspective. On the one hand, it analyses whether security pointers disclosed inside SATD sources can be used to characterise vulnerabilities in Open-Source Software (OSS) projects and repositories. On the other hand, it delves into developers' perspectives regarding the motivations behind this practice, its prevalence, and its potential negative consequences. Method: We followed a mixed-methods approach consisting of (i) the analysis of a preexisting dataset containing 8,812 SATD instances and (ii) an online survey with 222 OSS practitioners. Results: We gathered 201 SATD instances through the dataset analysis and mapped them to different Common Weakness Enumeration (CWE) identifiers. Overall, 25 different types of CWEs were spotted across commit messages, pull requests, code comments, and issue sections, from which 8 appear among MITRE's Top-25 most dangerous ones. The survey shows that software practitioners often place security pointers across SATD artefacts to promote a security culture among their peers and help them spot flaky code sections, among other motives. However, they also consider such a practice risky as it may facilitate vulnerability exploits. Implications: Our findings suggest that preserving the contextual integrity of security pointers disseminated across SATD artefacts is critical to safeguard both commercial and OSS solutions against zero-day attacks.
引用
收藏
页码:704 / 715
页数:12
相关论文
共 50 条
  • [1] An Exploratory Study on Self-Admitted Technical Debt
    Potdar, Aniket
    Shihab, Emad
    2014 IEEE INTERNATIONAL CONFERENCE ON SOFTWARE MAINTENANCE AND EVOLUTION (ICSME), 2014, : 91 - 100
  • [2] An empirical study on self-admitted technical debt in Dockerfiles
    Azuma, Hideaki
    Matsumoto, Shinsuke
    Kamei, Yasutaka
    Kusumoto, Shinji
    EMPIRICAL SOFTWARE ENGINEERING, 2022, 27 (02)
  • [3] An Empirical Study On the Removal of Self-Admitted Technical Debt
    Maldonado, Everton da S.
    Abdalkareem, Rabe
    Shihab, Emad
    Serebrenik, Alexander
    2017 IEEE INTERNATIONAL CONFERENCE ON SOFTWARE MAINTENANCE AND EVOLUTION (ICSME), 2017, : 238 - 248
  • [4] An empirical study on self-admitted technical debt in Dockerfiles
    Hideaki Azuma
    Shinsuke Matsumoto
    Yasutaka Kamei
    Shinji Kusumoto
    Empirical Software Engineering, 2022, 27
  • [5] Self-Admitted Technical Debt in R Packages: An Exploratory Study
    Vidoni, Melina
    2021 IEEE/ACM 18TH INTERNATIONAL CONFERENCE ON MINING SOFTWARE REPOSITORIES (MSR 2021), 2021, : 179 - 189
  • [6] Self-Admitted Technical Debt and comments' polarity: an empirical study
    Cassee, Nathan
    Zampetti, Fiorella
    Novielli, Nicole
    Serebrenik, Alexander
    Di Penta, Massimiliano
    EMPIRICAL SOFTWARE ENGINEERING, 2022, 27 (06)
  • [7] Self-Admitted Technical Debt and comments’ polarity: an empirical study
    Nathan Cassee
    Fiorella Zampetti
    Nicole Novielli
    Alexander Serebrenik
    Massimiliano Di Penta
    Empirical Software Engineering, 2022, 27
  • [8] An Exploratory Study on the Occurrence of Self-Admitted Technical Debt in Android Apps
    Wilder, Gregory, II
    Miyamoto, Riley
    Watson, Samuel
    Kazman, Rick
    Peruma, Anthony
    2023 ACM/IEEE INTERNATIONAL CONFERENCE ON TECHNICAL DEBT, TECHDEBT, 2023, : 1 - 10
  • [9] A Large-Scale Empirical Study on Self-Admitted Technical Debt
    Bavota, Gabriele
    Russo, Barbara
    13TH WORKING CONFERENCE ON MINING SOFTWARE REPOSITORIES (MSR 2016), 2016, : 315 - 326
  • [10] An empirical study on self-admitted technical debt in modern code review
    Kashiwa, Yutaro
    Nishikawa, Ryoma
    Kamei, Yasutaka
    Kondo, Masanari
    Shihab, Emad
    Sato, Ryosuke
    Ubayashi, Naoyasu
    INFORMATION AND SOFTWARE TECHNOLOGY, 2022, 146