Validierung von Software-Metriken für die funktionale Programmiersprache Erlang
am Beispiel eines Instant-Messaging-Systems
Mathematisch-Naturwissenschaftliche Fakultät
Mittels Softwaremaßen sollen relevante Eigenschaften der Prozesse und Produkte der Softwareentwicklung quantifiziert und objektiv überprüft werden. Die Validierung von Maßen soll zeigen, dass Maße tatsächlich diejenigen Eigenschaften erfassen, auf die sie abzielen. Angesichts der zunehmenden Bedeutung funktionaler Programmierung und den damit verbundenen Erwartungen, wie bessere Wartbarkeit oder andere Aspekte höherer Softwarequalität, beschäftigt sich die vorliegende Arbeit mit der empirischen Validierung von Softwaremaßen im Bereich funktionaler Programmierung. Die bisher veröffentlichten Arbeiten zur Validierung von Softwaremaßen für funktionale Programmiersprachen stützen sich auf Daten von kleinen bis mittelgroßen experimentellen Softwareprojekten mit nicht mehr als einigen Tausend Zeilen Code. In der vorliegenden Arbeit wird daher ein größeres Softwareprojekt betrachtet, das mehrere Zehntausend Zeilen Code enthält und dauerhaft professionell eingesetzt wird: der weit verbreitete Kommunikationsserver ejabberd, der in der funktionalen Programmiersprache Erlang implementiert ist. Verschiedene Softwaremaße werden erhoben und Zusammenhänge mit externen Qualitätsmerkmalen untersucht, die sich aus einer Datenbank bekannter Probleme und aus Codeänderungen ableiten lassen. Auf dieser Grundlage werden Aussagen getroffen, inwiefern bestimmte Softwaremaße als Indikatoren für bestimmte Eigenschaften eines Programms verwendet werden können. Zudem werden Vergleichswerte ermittelt, die bei der Bewertung der Messwerte anderer Systeme helfen können. Through the use of software measures, relevant properties of the processes and products of software development are to be quantified and objectively assessed. The validation of measures aims at demonstrating that measures actually capture those properties that they are targeted at. In view of the increasing importance of functional programming and the associated expectations, like improved maintainability and other aspects of higher software quality, the present study examines the empirical validation of software measures in the domain of functional programming. The studies published to date on the validation of software measures for functional programming languages are based on data from small or medium-sized experimental software projects with no more than a few thousand lines of code. For this reason, the present study considers a larger software project which contains tens of thousands of lines of code and is in constant professional use: the widespread communication server ejabberd, which is implemented in the functional programming language Erlang. Various software measures are obtained and the relationships to external measures of quality are studied; these measures are derived from a data base of known issues and from code modifications. On this basis, statements are made as to the extent to which specific software measures can be used as indicators for specific properties of a program. Further, comparative values which may be useful for evaluating the measurement values for other systems are determined.
Files in this item