Auflistung nach Autor:in "Haas, Roman"
1 - 4 von 4
Treffer pro Seite
Sortieroptionen
- ZeitschriftenartikelExtract Method Refactoring-Vorschläge automatisch ableiten(Softwaretechnik-Trends Band 36, Heft 3, 2016) Haas, Roman; Hummel, BenjaminDas Extract Method Refactoring ist eine gebräuchliche Art, zu lange Methoden im Code zu kurzen. Bevor aber Tool-Support fur das Refactoring genutzt werden kann, mussen Entwickler zunäachst geeignete Codezeilen identifizieren – ein zeitintensives und fehleranfälliges Unterfangen. Dieses Paper präsentiert einen Ansatz, der automatisch Vorschläge fur Extract Method Refactorings generiert. Dazu werden zunächst alle gültigen Extract Method Refactorings berechnet und anschließend diejenigen vorgeschlagen, die die Komplexität des Codes am meisten verringern. Der Ansatz beruht auf einer Scoring-Funktion, deren Gewichtung durch Learning-to-Rank-Verfahren bestimmt wurde. Wir stellen in diesem Paper auch die wichtigsten Ergebnisse aus den Learning-to-Rank-Verfahren anhand von drei Forschungsfragen vor.
- KonferenzbeitragKann statische Analyse unnützen Code erkennen?(Software Engineering 2022, 2022) Haas, Roman; Niedermayr, Rainer; Roehm, Tobias; Apel, SvenDieser Beitrag fasst einen im ACM Journal Transactions on Software Engineering and Methodology veröffentlichten Artikel von Haas et al. [Ha20] zusammen. Darin geht es um die Identifikation von unnützem Code, also Code, der nicht mehr benötigt wird. In den meisten gewachsenen Softwaresystemen sind Teile des Codes im Laufe der Zeit unnütz geworden. Unnützer Code ist problematisch, weil dadurch Ressourcen bei der Entwicklung und Wartung verschwendet werden, beispielsweise bei der Vorbereitung für eine bevorstehende Migration oder Zertifizierung. Zwar kann mithilfe eines Profilers nicht mehr produktiv verwendeter Code aufgedeckt werden, aber oft ist es zu zeitaufwendig bis repräsentative Daten erhoben wurden. Im oben genannten Beitrag wird ein auf Codestabilität und -zentralität basierender statischer Analyseansatz vorgeschlagen, um unnützen Code zu identifizieren. Um die Nützlichkeit des Ansatzes zu untersuchen, wurde eine Studie mit 14 Open-Source-und Closed-Source Software-Systemen durchgeführt. Da es kein perfektes Orakel für unnützen Code gibt, wurden die Empfehlungen für unnützen Code auf Basis von Löschungen in der Codehistorie, Laufzeitnutzungsdaten und dem Feedback von 25 Entwicklern aus fünf Software-Projekten evaluiert. Die Studie zeigt, dass aus Stabilitäts-und Zentralitätsinformationen generierte Empfehlungen auf unnützen Code hinweisen. Insgesamt deuten die Ergebnisse darauf hin, dass die statische Analyse schnelles Feedback zu unnützem Code liefern kann und in der Praxis nützlich ist.
- KonferenzbeitragPriorisierung von Quelltextduplikaten in Testcode durch die Kombination von Clone-Detection und testspezifischer Coverage(Softwaretechnik-Trends Band 40, Heft 2, 2020) Knilling, Stefan; Rott, Jakob; Haas, RomanDurch Clone-Detection aufgedeckte Codeduplikate in Testcode sind schwieriger zu bewerten als solche in Produktivcode und in der Praxis werden sie häufig ignoriert. In der Folge bleiben redundante Codeabschnitte in Testcode erhalten. Diese führen zu Wartungsproblemen und es besteht die Gefahr ungewollt inkonsistenter Änderungen. In diesem Artikel wird hinterfragt, ob die Kombination von Ergebnissen einer Clone-Detection mit testspezifischer Code Coverage helfen kann, Klonfunde in Testcode automatisch zu bewerten. Tests, die zwar von der Clone-Detection als redundant erkannt werden, aber stark unterschiedliche Teile im Code ausführen, werden von Entwicklern aufgrund der so anzunehmenden semantischen Entfernung möglicherweise weniger oft refaktoriert. Entsprechend sollten Klone von Tests mit einer hohen Ausführungsüberdeckung als wichtiger eingestuft werden. Durch die erhöhte Treffsicherheit soll die Clone-Detection von Entwicklern als nützlicheres Werkzeug anerkannt werden. Es wurden Codeduplikate im Testcode von neun Open-Source-Projekten untersucht und die Ergebnisse von Entwicklern evaluiert. Dabei zeigte sich eine moderat positive Korrelation zwischen automatischer Bewertung und Entwicklerstimmen.
- ZeitschriftenartikelTeamscale – Die Software-Intelligence-Plattform(Softwaretechnik-Trends Band 38, Heft 2, 2018) Juergens, Elmar; Haas, RomanIn diesen Artikel stellen wir Teamscale vor, unsere Plattform für Software-Intelligence. Dabei skizzieren wir die Architektur, gehen beispielhaft auf typische Fragestellungen ein, die Teamscale beantworten kann und verweisen auf weiterführende Literatur. Teamscale ist für Forschung, Lehre und Open-Source Systeme frei unter www.teamscale.io verfügbar.