Towards Triaging Code-Smell Candidates via Runtime Scenarios and Method-Call Dependencies

Thorsten Händler, Stefan Sobernig, Mark Strembeck

Publikation: Beitrag in Buch/KonferenzbandBeitrag in Konferenzband


Managing technical debt includes the detection and assessment of debt at the code and design levels (such as bad smells). Existing approaches and tools for smell detection primarily use static program data for decision support. While a static analysis allows for identifying smell candidates without executing and instrumenting the system, such approaches also come with the risk of missing candidates or of producing false positives. Moreover, smell candidates might result from a deliberate design decision (e.g., of applying a particular design pattern). Such risks and the general ambivalence of smell detection require a manual design and/or code inspection for reviewing all alleged smells. In this paper, we propose an approach to obtain tailorable design documentation for object-oriented systems based on runtime tests. In particular, the approach supports a tool-supported triaging of code-smell candidates. We use runtime scenario tests to extract execution traces. Based on these execution traces, different (automatically derived) model perspectives on method-call dependencies (e.g., dependency structure matrices, DSMs; UML2 sequence diagrams) are then used as decision support for assessing smell candidates. Our approach is implemented as part of the KaleidoScope tool which is publicly available for download.
Titel des SammelwerksNinth International Workshop on Managing Technical Debt (MTD 2017) at the 18th International Conference on Agile Software Development (XP 2017)
Herausgeber*innen ACM
ErscheinungsortCologne, Germany
VerlagACM Press
Seiten1 - 10
PublikationsstatusVeröffentlicht - 2017

Österreichische Systematik der Wissenschaftszweige (ÖFOS)

  • 102022 Softwareentwicklung
  • 102

Dieses zitieren