Reiterer, S. (2011). Design and development of a task-based code review tool for an Air Traffic Management System [Diploma Thesis, Technische Universität Wien]. reposiTUm. http://hdl.handle.net/20.500.12708/160787
Code Reviews; Eclipse; Mylyn; Frequentis; Air Traffic Management
de
Code Reviews; Eclipse; Mylyn; Frequentis; Air Traffic Management
en
Abstract:
Code Reviews zählen zu den effizientesten Qualitätssicherungsmaßnahmen in der Softwareentwicklung. Sie dienen zur Verbesserung der Qualität eines Softwareprodukts in bereits frühen Phasen des Entwicklungsprozesses. Darüber hinaus helfen sie den Teammittgliedern, ein besseres Verständnis für den Code zu bekommen und Standards bzw. Richtlinien einzuhalten. Fehler, die während des Softwareentwicklungsprozesses nicht gefunden werden, können erhebliche negative Konsequenzen, wie zum Beispiel reduzierte Kundenzufriedenheit, erhöhtes Sicherheitsrisiko und verminderte Produktivität der Benutzer mit sich bringen. Um dies zu verhindern, werden in vielen Entwicklungsteams Reviews eingesetzt, um Zwischenresultate während der Entwicklungsphase zu begutachten und Fehler offenzulegen. In den letzten dreißig Jahren wurden sowohl formale als auch informelle Ansätze für die Anwendung von Reviews entwickelt. Trotz der Vorteile, die Reviews bieten, werden sie jedoch noch nicht umfassend eingesetzt, da es nicht immer ein Review-Tool gibt, welches den Review-Prozess eines Unternehmens unterstützt. Dies wird anhand eines Fallbeispiels mit dem Unternehmen Frequentis, deren task-basierter Entwicklungsprozess von keinem Review-Tool ausreichend unterstützt wird, gezeigt. Das international agierende Unternehmen muss aufgrund der umfangreichen Softwareentwicklungsaktivitäten im Bereich des zivilen Air Traffic Managements (ATM) den DO-278/ED-109 Software Standard einhalten. Ein signifikanter Teil dieses Standards ist Code Reviews gewidmet. Diese Arbeit beschreibt einen leichtgewichtigen task-basierten Review-Prozess, welcher basierend auf theoretischen Analysen und unternehmensspezifischen Anforderungen entwickelt wurde. Dieser besteht aus vier Phasen und ähnelt einem Peer Deskcheck bzw. Passaround. Im Rahmen eines Fallbeispiels wird gezeigt, wie der Prozess von Frequentis zur Sicherung der Software Qualität verwendet werden kann. Basierend darauf wird das Design und die Implementierung eines in die Eclipse Entwicklungsumgebung integrierten Review Plug-ins beschrieben. Dieses Plug-in kann zur Anwendung des leichtgewichtigen Review-Prozesses verwendet werden. Zusätzlich zur Review-Funktionalität unterstützt das Plug-in die Planung von Reviews, indem qualifizierte Reviewer für ausgewählte Teile des Source Codes vorgeschlagen werden. Zur Verifikation der Review-Ergebnisse und der Review-Abdeckung ist es möglich, Berichte zu generieren.
Software reviews are one of the most efficient quality assurance techniques in software engineering. They are used to find defects in early stages of a project's progress. It is less expensive to correct early detected defects than defects which are identified in late phases of a project. In addition, they help team members to get a better understanding of the code and to enforce coding standards and guidelines. Undetected defects during the software development process can have significant consequences, such as reduced customer satisfaction, increased safety risk and decreased productivity of the users. In order to avoid them, development teams use software reviews to improve the quality of the product by reviewing interim deliverables during the development. In the last thirty years several formal and less formal approaches for the application of reviews were developed. Despite their advantages, they are not universally used because in many cases a review tool that assists a company's review process does not exist. This is presented in a case study with the company Frequentis, whose task-based development process is not sufficiently supported by an existing review tool. The internationally acting company develops software in the field of civil air traffic management (ATM), and therefore has to fulfill the DO-278/ED-109 software standard. A significant part of the standard is devoted to the quality assurance process and especially to code reviews. This work describes a lightweight task-based review process which was developed based on theoretical analyses and company specific requirements. It is related to a peer deskcheck or passaround method and consists of four phases. A case study shows how the process can be used by Frequentis for the assurance of software quality. Based on this, a custom review plug-in for the popular Eclipse development environment was designed and implemented. This plug-in is used to apply the task-based review process. Furthermore, it supports the planning of reviews by suggesting qualified reviewers for defined parts of the source code. For the verification of the review results and the review coverage, it also allows the generation of reports.