• Home
  • Search
  • Is Static Analysis Able to Identify Unnecessary Source Code?
  • Cite Icon20
  • https://doi.org/10.1145/3368267Copy DOI Icon

Is Static Analysis Able to Identify Unnecessary Source Code?

Show More
  • Abstract
  • Literature Map
  • References
  • Citations
  • Similar Papers
Abstract

Grown software systems often contain code that is not necessary anymore. Such unnecessary code wastes resources during development and maintenance, for example, when preparing code for migration or certification. Running a profiler may reveal code that is not used in production, but it is often time-consuming to obtain representative data in this way. 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. To study the feasibility and usefulness of our approach, we conducted a study involving 14 open-source and closed-source software systems. 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.

Similar Papers
  • Research Article
  • Citations120

Detecting Cryptomining Malware: a Deep Learning Approach for Static and Dynamic Analysis

  • Jan 21, 2020
  • Journal of Grid Computing
  • Hamid Darabian +6
  • Conference Article
  • Citations15

Detecting Permission Over-claim of Android Applications with Static and Semantic Analysis Approach

  • Aug 01, 2017
  • Junwei Tang +4
  • Research Article
  • Citations8

Change profile analysis of open-source software systems to understand their evolutionary behavior

  • Dec 01, 2018
  • Frontiers of Computer Science
  • Munish Saini +1
  • Conference Article
  • Citations8

Malicious data classification using structural information and behavioral specifications in executables

  • Mar 01, 2014
  • Sandeep Kumar +4
  • Dissertation
  • Citations1

Factors Influencing Participant Satisfaction with Free/Libre and Open Source Software Projects

  • Jan 01, 2011
  • Brenda Chawner
  • Dissertation

Factors Influencing Participant Satisfaction with Free/Libre and Open Source Software Projects

  • Jan 01, 2011
  • Brenda Chawner
  • Conference Article
  • Citations10

ASAF: Android Static Analysis Framework

  • Nov 01, 2020
  • Aala Al Khayer +2
  • Conference Article
  • Citations40

Tracing software build processes to uncover license compliance inconsistencies

  • Sep 15, 2014
  • Sander Van Der Burg +5
  • Research Article
  • Citations13

Static Analysis of Runtime Errors in Interrupt-Driven Programs via Sequentialization

  • Sep 01, 2016
  • ACM Transactions on Embedded Computing Systems
  • Xueguang Wu +4
  • Research Article
  • Citations22

Exploring factors and metrics to select open source software components for integration: An empirical study

  • Feb 11, 2022
  • Journal of Systems and Software
  • Xiaozhou Li +3
  • Research Article
  • Citations12

DroidRista: a highly precise static data flow analysis framework for android applications

  • Oct 01, 2019
  • International Journal of Information Security
  • Areej Alzaidi +2
  • Conference Article
  • Citations13

Use Bots to Improve GitHub Pull-Request Feedback

  • Feb 22, 2019
  • Zhewei Hu +1
  • Research Article
  • Citations31

A study of open source software evolution data using qualitative simulation

  • Jul 01, 2005
  • Software Process: Improvement and Practice
  • Neil Smith +2
  • Conference Article
  • Citations251

Are all code smells harmful? A study of God Classes and Brain Classes in the evolution of three open source systems

  • Sep 01, 2010
  • Steffen M Olbrich +2
  • Research Article
  • Citations88

From Aristotle to Ringelmann: a large-scale analysis of team productivity and coordination in Open Source Software projects

  • Dec 19, 2015
  • Empirical Software Engineering
  • Ingo Scholtes +2
Cactus Communications logo

Copyright 2026 Cactus Communications. All rights reserved.