Adaptive Erkennung von Software-Entwurfsm?ngeln |
| |
Authors: | Jochen Kreimer |
| |
Institution: | (1) Institut für Informatik, Universit?t Paderborn, Fürstenallee 11, 33102 Paderborn, Germany |
| |
Abstract: | Zusammenfassung Die Qualit?t von Software kann je nach Anwendungsgebiet an unterschiedlichen Kriterien gemessen werden. Für grosse Software-Systeme
spielen u. a. Kriterien wie Wartbarkeit, Verst?ndlichkeit und Erweiterbarkeit eine wichtige Rolle.
Mein Ziel ist es, Entwurfsm?ngel in Software-Systemen zu erkennen und somit „‘schlechte“’ – unverst?ndliche, schwer erweiter-
und ?nderbare – Programmstrukturen zu vermeiden. Prominente Entwurfsm?ngel sind z. B. die von Fowler eingeführten Bad Smells in objektorientierten Programmen.
Entwurfsm?ngel werden abh?ngig von der Sichtweise und dem Erfahrungsschatz des Suchenden unterschiedlich interpretiert. Ich
kombiniere daher bekannte Verfahren zur Erkennung von Entwurfsm?ngeln auf der Basis von Metriken mit maschinellen Lernverfahren.
Damit kann Entwurfsmangelerkennung individuellen Sichtweisen angepasst werden.
Ich pr?sentiere ein Werkzeug für Java-Programme und zeige die Ergebnisse einer ersten Fallstudie.
Criteria for software quality measurement depend on the application area. In large software systems criteria like maintainability,
comprehensibility and extensibility play an important role.
My aim is to identify design flaws in software systems automatically and thus to avoid “bad” – incomprehensible, hardly expandable
and changeable – program structures.
Depending on the perception and experience of the searching engineer, design flaws are interpreted in a different way. I propose
to combine known methods for finding design flaws on the basis of metrics with machine learning mechanisms, such that design
flaw detection is adaptable to different views.
This paper presents the underlying method, describes an analysis tool for Java programs and shows results of an initial case
study.
CR Subject Classification D.1.5,D.2.2,D.2.5,D.2.7,D.2.8,I.2.6 |
| |
Keywords: | Object-oriented design Software quality Refactoring Program analysis Metrics Machine learning |
本文献已被 SpringerLink 等数据库收录! |
|