Write a Blog >>
ICSE 2020
Wed 24 June - Thu 16 July 2020
Fri 10 Jul 2020 08:37 - 08:45 at Goguryeo - I23-Code Artifact Analysis Chair(s): Benoit Baudry

In our journal first paper “Is static analysis able to identify unnecessary source code?”, we investigate a major software maintenance issue, especially for grown software systems: code that is not necessary anymore. Such unnecessary code wastes resources during development and maintenance, for example, when preparing code for migration or certification. In the literature, execution information from production environments is used to identify code that is not used anymore. However, it is often time-consuming to obtain representative data in this way. In the journal paper, we investigate to what extent a static analysis approach, which is based on code stability and code centrality, is able to identify unnecessary code and whether its recommendations are relevant in practice. Unnecessary code can but does not need to be dead code. So, technically we are not focussing on a reachability analysis but use heuristics to identify unnecessary code. The paper presents a strong evaluation of the approach, for which a study on 14 open-source and closed-source software systems is conducted. As there is no perfect oracle for unnecessary code, we compared recommendations for unnecessary code with historical cleanups, runtime usage data, and feedback from 25 developers of five software projects. Our study shows that recommendations generated from stability and centrality information point to unnecessary code that cannot be identified by dead code detectors. Developers confirmed that 34% of recommendations were indeed unnecessary and deleted 20% of the recommendations shortly after our interviews. Overall, our results suggest that static analysis can provide quick feedback on unnecessary code and is useful in practice.

Fri 10 Jul
Times are displayed in time zone: (UTC) Coordinated Universal Time change

08:05 - 09:05: Paper Presentations - I23-Code Artifact Analysis at Goguryeo
Chair(s): Benoit BaudryKTH Royal Institute of Technology
icse-2020-papers08:05 - 08:17
Qingkai ShiThe Hong Kong University of Science and Technology, Rongxin WuDepartment of Cyber Space Security, Xiamen University, Gang FanHong Kong University of Science and Technology, Charles ZhangThe Hong Kong University of Science and Technology
icse-2020-papers08:17 - 08:29
Qingkai ShiThe Hong Kong University of Science and Technology, Charles ZhangThe Hong Kong University of Science and Technology
icse-2020-Journal-First08:29 - 08:37
Gunel JahangirovaUniversità della Svizzera italiana, David ClarkUniversity College London, Mark Harman, Paolo TonellaUniversità della Svizzera italiana
icse-2020-Journal-First08:37 - 08:45
Roman HaasCQSE GmbH, Rainer NiedermayrCQSE GmbH, Tobias RoehmCQSE GmbH, Sven ApelSaarland University & Saarland Informatics Campus
icse-2020-Journal-First08:45 - 08:53
Mohammadreza GhanavatiHeidelberg University, Diego CostaConcordia University, Canada, Janos SeboekHeidelberg University, David LoSingapore Management University, Artur AndrzejakHeidelberg University
icse-2020-Journal-First08:53 - 09:01
Daniel MartensUniversity of Hamburg, Walid MaalejUniversity of Hamburg