TU Darmstadt / ULB / TUbiblio

Hidden Truths in Dead Software Paths

Eichberg, Michael ; Hermann, Ben ; Mezini, Mira ; Glanz, Leonid :
Hidden Truths in Dead Software Paths.
[Online-Edition: http://doi.acm.org/10.1145/2786805.2786865]
In: Proceedings of the 2015 10th Joint Meeting on Foundations of Software Engineering, New York, NY, USA. In: ESEC/FSE 2015 . ACM , New York, NY, USA
[Konferenz- oder Workshop-Beitrag], (2015)

Offizielle URL: http://doi.acm.org/10.1145/2786805.2786865

Kurzbeschreibung (Abstract)

Approaches and techniques for statically finding a multitude of issues in source code have been developed in the past. A core property of these approaches is that they are usually targeted towards finding only a very specific kind of issue and that the effort to develop such an analysis is significant. This strictly limits the number of kinds of issues that can be detected. In this paper, we discuss a generic approach based on the detection of infeasible paths in code that can discover a wide range of code smells ranging from useless code that hinders comprehension to real bugs. Code issues are identified by calculating the difference between the control-flow graph that contains all technically possible edges and the corresponding graph recorded while performing a more precise analysis using abstract interpretation. We have evaluated the approach using the Java Development Kit as well as the Qualitas Corpus (a curated collection of over 100 Java Applications) and were able to find thousands of issues across a wide range of categories.

Typ des Eintrags: Konferenz- oder Workshop-Beitrag (Keine Angabe)
Erschienen: 2015
Autor(en): Eichberg, Michael ; Hermann, Ben ; Mezini, Mira ; Glanz, Leonid
Titel: Hidden Truths in Dead Software Paths
Sprache: Englisch
Kurzbeschreibung (Abstract):

Approaches and techniques for statically finding a multitude of issues in source code have been developed in the past. A core property of these approaches is that they are usually targeted towards finding only a very specific kind of issue and that the effort to develop such an analysis is significant. This strictly limits the number of kinds of issues that can be detected. In this paper, we discuss a generic approach based on the detection of infeasible paths in code that can discover a wide range of code smells ranging from useless code that hinders comprehension to real bugs. Code issues are identified by calculating the difference between the control-flow graph that contains all technically possible edges and the corresponding graph recorded while performing a more precise analysis using abstract interpretation. We have evaluated the approach using the Java Development Kit as well as the Qualitas Corpus (a curated collection of over 100 Java Applications) and were able to find thousands of issues across a wide range of categories.

Reihe: ESEC/FSE 2015
Ort: New York, NY, USA
Verlag: ACM
Freie Schlagworte: Abstract Interpretation, Finding Bugs, Infeasible Paths, Java, Scalable Analysis
Fachbereich(e)/-gebiet(e): Fachbereich Informatik
Fachbereich Informatik > Softwaretechnik
Zentrale Einrichtungen > EC SPRIDE
Zentrale Einrichtungen
Veranstaltungstitel: Proceedings of the 2015 10th Joint Meeting on Foundations of Software Engineering
Veranstaltungsort: New York, NY, USA
Hinterlegungsdatum: 10 Sep 2015 14:09
Offizielle URL: http://doi.acm.org/10.1145/2786805.2786865
Export:

Optionen (nur für Redakteure)

Eintrag anzeigen Eintrag anzeigen