Grin logo
de en es fr
Shop
GRIN Website
Publish your texts - enjoy our full service for authors
Go to shop › Computer Science - Commercial Information Technology

Beurteilung der Qualität von Software. Software Benchmarking und die Entwicklung eines Plugins für Sonarcube

Title: Beurteilung der Qualität von Software. Software Benchmarking und die Entwicklung eines Plugins für Sonarcube

Master's Thesis , 2014 , 81 Pages , Grade: 1

Autor:in: Philipp Täubel (Author)

Computer Science - Commercial Information Technology
Excerpt & Details   Look inside the ebook
Summary Excerpt Details

Was ist Qualität von Software und wie kann man sie bestimmen? Beide Teile dieser Frage sind zentrales Thema dieser Arbeit.

Zuerst wird versucht, eine Definition für Software Qualität zu finden, bevor ein Vorgehen zur dessen Bestimmung, nämlich das Software Benchmarking, vorgestellt wird. Die nähere Betrachtung des Benchmarkings führt anschließend zur Entwicklung eines Plug-Ins für SonarQube, welches das Benchmarking der einzelnen Softwareprojekte ermöglicht. Dieses Plug-In namens SBench errechnet, aufgrund der Regelverletzungen, alle vier Quartillen und ordnet die Projekte anschließend darin ein. Das Ergebnis wird in Form eines Boxplots und eines Benchmark Profils für den Benutzer grafisch dargestellt.

Die Anwendung des Plug-Ins zeigte, dass die Qualität der Projekte, im Vergleich zu den Referenzprojekten, sehr schnell eingeschätzt werden konnte und sich die Möglichkeit eröffnete gezielt Qualitätsverbesserungen durchzuführen. Das einzige Manko stellt die doch längere Zeit in Anspruch nehmende Berechnung dar. Die Informations- und Kommunikationstechnologien haben in den letzten Jahrzehnten eine immer bedeutungsvollere Aufgabe erhalten. Mittlerweile ist eine Welt ohne Computer, Smartphones und anderen Rechner unvorstellbar. Sie sind Bestandteil des täglichen Berufslebens, alle Bankgeschäfte werden mit ihrer Hilfe abgewickelt und in naher Zukunft wird es vermutlich möglich sein, ein ganzes Haus durch wenige Tastendrucke zu steuern.

All diese eingesetzten Geräte könnten jedoch nicht die gewünschten Funktionalitäten ausführen, würde auf ihnen nicht eine geeignete Software laufen. Ein Stück Software ist inzwischen in mehr Dingen enthalten, als man es sich jemals vorstellen konnte. Von der Waschmaschine, über Uhren bis hin zu Autos funktioniert alles nur noch mit Hilfe von Software.

Excerpt


Auf einen Blick

  • Note: 1,0
  • Entwicklung des SonarQube-Plugins SBench für regelbasiertes Software-Benchmarking
  • Benchmarkbasis aus acht öffentlich verfügbaren Java-Open-Source-Projekten
  • 48 Quellen im Literaturverzeichnis
  • 14 Abbildungen und 3 Tabellen

Inhaltsverzeichnis

1 Einleitung

2 Qualität von Software

2.1 Was ist „Qualität“?

2.2 Metriken

2.3 Regeln

2.4 Software-Qualität

3 Statische Code-Analyse

3.1 Syntax-Analyse

3.2 Semantik-Analyse

3.3 Grafiken

4 Software Benchmarking

4.1 Vorgehen

4.2 Benchmark-Verteilung

4.3 Visualisierung - Das Boxplot

5 SonarQube

5.1 Funktionsweise

6 SBench

6.1 Konzept

6.2 Umsetzung

6.3 Anwendung

6.4 Erfahrungen

7 Zusammenfassung

8 Ausblick

Zielsetzung und Themen

Die Masterarbeit untersucht, wie sich die Qualität von Software anhand messbarer Eigenschaften und im Vergleich mit anderen Projekten beurteilen lässt. Ziel ist die Entwicklung einer Erweiterung für SonarQube, die Ergebnisse statischer Code-Analysen für ein regelbasiertes Software-Benchmarking nutzt.

  • Qualitätsbegriffe, Qualitätsmerkmale, Metriken und Regeln
  • Statische Syntax- und Semantik-Analyse von Quellcode
  • Benchmarkverfahren und Auswahl von Referenzprojekten
  • Quartile und grafische Darstellung von Vergleichswerten
  • Konzeption und Umsetzung des SonarQube-Plugins SBench
  • Praktische Anwendung auf Java-Projekte

Auszug aus dem Buch

3 Statische Code-Analyse

In diesem Abschnitt wird eine Möglichkeit der Qualitätsüberprüfung vorgestellt, die statische Code-Analyse. Diese Methode erhebt, wie im vorhergehenden Abschnitt bereits erwähnt, verschiedene Maße durch eine Analyse und nicht durch Beobachtung. Sie ist demnach notwendig um die Metriken und Regelverletzungen einer Software bestimmen zu können und somit Voraussetzung für das Benchmarking. Denn man kann keinen Benchmark starten ohne vorher Daten gesammelt zu haben (Maxwell, 2001).

Statische Analysen im Allgemeinen müssen nicht automatisiert oder gestützt durch Informations- und Kommunikationstechnologie durchgeführt werden (Liggesmeyer, 2009) (Hoffmann, 2013). Sie können auch manuell durch Personen selbst erledigt werden. Es sollte jedoch bedacht werden das aufgrund der höheren Kosten möglichst wenig an manueller Analyse durchgeführt werden soll (Liggesmeyer, 2009) (Plösch u. a., 2010). Mit der Code-Analyse ist es möglich sowohl Metriken, wie Lines of Code etc., zu bestimmen, als auch die Einhaltung von Regeln zu überprüfen. Des Weiteren liefert das Wort „statisch“ schon einen Hinweiß darauf, dass bei der Analyse die zu überprüfende Software nicht ausgeführt wird (Liggesmeyer, 2009) (Hoffmann, 2013). Genauer gesagt, wird lediglich der Quelltext eines Programmes betrachtet und analysiert (Hoffmann, 2013), wohingegen bei einer dynamischer Analyse meist dieser Quelltext in ein funktionierendes Programm übersetzt werden würde. Dadurch bietet sich auch die Möglichkeit einzelne Teile des Quelltextes zu analysieren, bevor das gesamte Programm fertiggestellt und lauffähig ist (Hoffmann, 2013) und es benötigt keine Testdaten oder Testfälle (Simon u. a., 2006).

Eines der Hauptanwendungsbereiche, der statischen Code-Analyse, stellt die Konformitätsanalyse (Hoffmann, 2013) bzw. Stilanalyse (Liggesmeyer, 2009) dar. Diese Analyse überprüft den Quelltext auf die Einhaltung gewisser Konventionen und Regeln, welche entweder durch das entwickelnde Unternehmen selbst, also firmenintern, durch Programmierstandards, oder durch Programmierkonventionen der jeweiligen Programmiersprache festgelegt werden (Liggesmeyer, 2009).

Diese Regeln können sich sowohl auf die Syntax als auch auf die Semantik beziehen (Liggesmeyer, 2009). Daher kann man auch nach der Syntax- und der Semantik-Analyse unterscheiden (Hoffmann, 2013). Diese beiden Analysen sind jedoch sehr stark miteinander verbunden (Hoffmann, 2013). Sowohl der Umfang, als auch der benötigte Aufwand für die Bestimmung der Regeln variiert stark und reicht von der richtigen Setzung einer Klammer (syntaktisch) bis hin zur Abhängigkeiten von Klassen (semantisch) oder ähnlichem. Zuerst wird nachfolgend die Syntax-Analyse näher betrachtet, da sie die vermutlich einfachere der beiden Analysen darstellt.

Zusammenfassung der Kapitel

1 Einleitung: Die Arbeit führt in die Frage ein, wie Softwarequalität beurteilt werden kann, und formuliert die Entwicklung eines Benchmarking-Plugins als Ziel.

2 Qualität von Software: Verschiedene Qualitätsansätze werden vorgestellt und durch Metriken, Regeln sowie Qualitätsmerkmale von Software ergänzt.

3 Statische Code-Analyse: Das Kapitel erläutert die Untersuchung von Quelltext ohne Programmausführung und unterscheidet Syntax- und Semantik-Analyse. Es betrachtet außerdem grafische Darstellungen von Analyseergebnissen.

4 Software Benchmarking: Der Autor beschreibt Vergleichsverfahren, Referenzdaten und regelbasiertes Benchmarking. Quartile, Benchmark-Verteilungen und Boxplots bilden die statistischen Grundlagen der Darstellung.

5 SonarQube: Vorgestellt werden die Analysefunktionen und die Weboberfläche der Plattform sowie Qualitätsprofile und Regelverletzungen.

6 SBench: Das Kapitel behandelt Konzept und Implementierung des Plugins sowie seine Anwendung auf Java-Projekte. Anschließend werden Erfahrungen mit der Entwicklung und Nutzung geschildert.

7 Zusammenfassung: Die wesentlichen Grundlagen und die Anwendung des Plugins werden zusammengeführt.

8 Ausblick: Der Autor skizziert Möglichkeiten zur Weiterentwicklung, darunter eine schnellere Berechnung und zusätzliche Darstellungen.

Schlüsselwörter

Softwarequalität, Software-Benchmarking, SonarQube, SBench, statische Code-Analyse, Qualitätsmetriken, Regelverletzungen, Qualitätsprofile, Referenzprojekte, Quartile, Boxplot, Benchmark-Verteilung, Java

Häufig gestellte Fragen

Worum geht es in der Arbeit?

Die Arbeit behandelt die Beurteilung von Softwarequalität durch den Vergleich von Projekten und stellt dafür eine Erweiterung von SonarQube vor.

Welche Themen stehen im Mittelpunkt?

Im Mittelpunkt stehen Qualitätsmodelle, Metriken und Regeln, statische Code-Analyse, Benchmarking sowie die Entwicklung und Anwendung von SBench.

Was ist das zentrale Ziel?

Entwickelt wird ein Plugin, mit dem sich Softwareprojekte anhand von Analyseergebnissen mit Referenzprojekten vergleichen lassen.

Welche wissenschaftliche Methode wird verwendet?

Die Arbeit verbindet eine Literaturanalyse und die Entwicklung eines Plugins mit einer praktischen Anwendung auf ausgewählte Java-Projekte. Der Vergleich beruht auf statischer Code-Analyse und regelbezogenen Quartilen.

Was behandelt der Hauptteil?

Er erläutert Grundlagen der Softwarequalität und des Benchmarkings, stellt SonarQube vor und beschreibt Konzeption, Umsetzung und Anwendung von SBench.

Welche Schlüsselwörter charakterisieren die Arbeit?

Zu den zentralen Begriffen gehören Softwarequalität, statische Code-Analyse, Regelverletzungen, Benchmarking, SonarQube, Quartile und Boxplot.

Wie werden die Vergleichswerte in SBench dargestellt?

Das Plugin nutzt unter anderem ein Benchmarkprofil für die Übersicht und Boxplots für die Betrachtung einzelner Regeln.

Welche Projekte dienen als Grundlage des Anwendungsbeispiels?

Die Benchmarkbasis umfasst acht öffentlich verfügbare Java-Projekte. Als untersuchtes Projekt wird der Universal Media Server mit dieser Basis verglichen.

Welche Rolle spielen Qualitätsprofile beim Vergleich?

Qualitätsprofile legen die Regeln für die statische Analyse fest. Für die Vergleichbarkeit empfiehlt die Arbeit, Referenzprojekte mit demselben Profil zu analysieren.

Excerpt out of 81 pages  - scroll top

Details

Title
Beurteilung der Qualität von Software. Software Benchmarking und die Entwicklung eines Plugins für Sonarcube
College
University of Linz  (Institut für Wirtschaftsinformatik - Software Engineering)
Grade
1
Author
Philipp Täubel (Author)
Publication Year
2014
Pages
81
Catalog Number
V992317
ISBN (eBook)
9783346361196
ISBN (Book)
9783346361202
Language
German
Tags
software benchmarking benchmark vergleich sonarcube software-qualität
Product Safety
GRIN Publishing GmbH
Quote paper
Philipp Täubel (Author), 2014, Beurteilung der Qualität von Software. Software Benchmarking und die Entwicklung eines Plugins für Sonarcube, Munich, GRIN Verlag, https://www.grin.com/document/992317
Look inside the ebook
  • Depending on your browser, you might see this message in place of the failed image.
  • Depending on your browser, you might see this message in place of the failed image.
  • Depending on your browser, you might see this message in place of the failed image.
  • Depending on your browser, you might see this message in place of the failed image.
  • Depending on your browser, you might see this message in place of the failed image.
  • Depending on your browser, you might see this message in place of the failed image.
  • Depending on your browser, you might see this message in place of the failed image.
  • Depending on your browser, you might see this message in place of the failed image.
  • Depending on your browser, you might see this message in place of the failed image.
  • Depending on your browser, you might see this message in place of the failed image.
  • Depending on your browser, you might see this message in place of the failed image.
  • Depending on your browser, you might see this message in place of the failed image.
  • Depending on your browser, you might see this message in place of the failed image.
  • Depending on your browser, you might see this message in place of the failed image.
  • Depending on your browser, you might see this message in place of the failed image.
  • Depending on your browser, you might see this message in place of the failed image.
  • Depending on your browser, you might see this message in place of the failed image.
  • Depending on your browser, you might see this message in place of the failed image.
Excerpt from  81  pages
Grin logo
  • Grin.com
  • Shipping
  • Contact
  • Privacy
  • Terms
  • Imprint
  • Withdraw Contract