On Continuous Detection of Design Flaws in Evolving Object-Oriented Programs using Incremental Multi-Pattern Matching
dc.contributor.author | Peldszus, Sven | |
dc.contributor.author | Kulcsár, Géza | |
dc.contributor.author | Lochau, Malte | |
dc.contributor.author | Schulze, Sandro | |
dc.contributor.editor | Tichy, Matthias | |
dc.contributor.editor | Bodden, Eric | |
dc.contributor.editor | Kuhrmann, Marco | |
dc.contributor.editor | Wagner, Stefan | |
dc.contributor.editor | Steghöfer, Jan-Philipp | |
dc.date.accessioned | 2019-03-29T10:24:03Z | |
dc.date.available | 2019-03-29T10:24:03Z | |
dc.date.issued | 2018 | |
dc.description.abstract | This work has been initially presented at the International Conference on Automated Software Engineering (ASE) 2016. Design flaws in object-oriented programs may seriously corrupt code quality thus increasing the risk for introducing subtle errors during software maintenance and evolution. Most recent approaches identify design flaws in an ad-hoc manner, either focusing on software metrics, locally restricted code smells, or on coarse-grained architectural anti-patterns. In this work, we utilize an abstract program model capturing high-level object-oriented code entities, further augmented with qualitative and quantitative design-related information such as coupling/cohesion. Based on this model, we propose a comprehensive methodology for specifying object-oriented design flaws by means of compound rules integrating code metrics, code smells and anti-patterns in a modular way. This approach allows for efficient, automated design-flaw detection through incremental multi-pattern matching, by facilitating systematic information reuse among multiple detection rules as well as between subsequent detection runs on continuously evolving programs. Our tool implementation comprises well-known anti-patterns for Java programs. The results of our experimental evaluation show high detection precision, scalability to real-size programs, as well as a remarkable gain in efficiency due to information reuse. | en |
dc.identifier.isbn | 978-3-88579-673-2 | |
dc.identifier.pissn | 1617-5468 | |
dc.identifier.uri | https://dl.gi.de/handle/20.500.12116/21126 | |
dc.language.iso | en | |
dc.publisher | Gesellschaft für Informatik | |
dc.relation.ispartof | Software Engineering und Software Management 2018 | |
dc.relation.ispartofseries | Lecture Notes in Informatics (LNI) - Proceedings, Volume P-279 | |
dc.subject | design-flaw detection | |
dc.subject | continuous software evolution | |
dc.subject | object-oriented software architecture | |
dc.title | On Continuous Detection of Design Flaws in Evolving Object-Oriented Programs using Incremental Multi-Pattern Matching | en |
dc.type | Text/Conference Paper | |
gi.citation.endPage | 144 | |
gi.citation.publisherPlace | Bonn | |
gi.citation.startPage | 143 | |
gi.conference.date | 5.-9. März 2018 | |
gi.conference.location | Ulm | |
gi.conference.sessiontitle | Software Engineering 2018 - Wissenschaftliches Hauptprogramm |
Dateien
Originalbündel
1 - 1 von 1