You are here: SE » ThesisDPPXVI

Unterstützung unterschiedlicher Programmiersprachen und Plugins in einem Werkzeug für kollaborative Softwareentwicklung (DPP XVI)

(Supporting Various Programming Languages and Plug-Ins Within a Tool For Collaborative Software Development)

Bachelorarbeit von Alena Kiwitt (betreut von Stephan Salinger und Karl Beecher)

Diese Arbeit untersucht Die Kompatibilität von Saros und verschiedenen Sprach-Plugins für die Entwicklungsumgebung Eclipse.

Übersicht

Ausgehend von einer bereits existierenden Plugin-Kompatibilitätsliste soll eine Auswahl verschiedener Eclipse-Plugins im Zusammenspiel mit Saros untersucht werden. Dabei gilt es zunächst vor allem, im Rahmen einer umfassenden Anforderungsanalyse die Kriterien zu ermitteln, die ein erfolgreiches Zusammenwirken zwischen Saros und den ausgewählten Plugins ausmachen. Diese Anforderungskriterien werden einerseits für Saros sowie andererseits für die untersuchten Plugins ermittelt. Weiterhin werden konkrete Testfälle entworfen, die zukünftig für Kompatibilitätstest herangezogen werden können. Diese Testfälle werden auf die vorher ausgewählten Plugins angewendet, sodass am Ende eine aktualisierte und erweiterte Plugin-Kompatibilitätsliste vorliegt.

Ziele

Da Saros unter Eclipse Classic entwickelt und getestet wird, wird standardmäßig zunächst nur die Programmiersprache Java unterstützt. Einige Plugins für andere Programmiersprachen wurden zusammen mit Saros getestet und manche haben sich auch als in irgendeiner Weise kompatibel herausgestellt. Demnach unterstützt Saros momentan Java, C/C++, PHP und einige andere Sprachen. Es wäre sehr wünschenswert, die Flexibilität von Eclipse dahingehend auszunutzen, dass alle für Eclipse verfügbaren Sprach-Plugins auch zusammen mit Saros verwendet werden können. Dies würde sich sicherlich positiv auf die Verbreitung von Saros auswirken, denn je mehr Sprachen unterstützt werden, desto mehr Programmierer haben die Möglichkeit, Saros zu verwenden und durch ihr Feedback wiederum die Weiterentwicklung von Saros zu unterstützen.

Die wesentlichen Ziele dieser Arbeit sind daher:

  • Durch eine umfangreiche Anforderungsanalyse Kompatibilitätskriterien auf Seiten von Saros sowie der ausgewählten Plugins zu identifizieren.
  • Basierend auf den ermittelten Anforderungen eine Reihe von Testfällen zu erstellen, die zukünftig für Kompatibilitätstests von Saros herangezogen werden können.
  • Die Testfälle auf die ausgewählten Plugins anzuwenden, um die bestehende Kompatibilitätsliste zu aktualisieren und zu ergänzen.

Anforderungsanalyse

Während der Anforderungsanalyse wurde zunächst Saros auf Kompatibilitätskriterien untersucht und eine Reihe von Anforderungen identifiziert. Diese Anforderungen wurden in die folgenden Bereiche unterteilt:

  • Installation und Aufbau einer Sarossitzung
  • Benutzerrollen
  • Awareness-Informationen
  • Der Follow Mode
  • Dateioperationen und Refactoring
  • Vermeidung und Auflösung von Inkonsistenzen

Bei der Untersuchung der ausgewählten Eclipse-Plugins wurde zunächst angenommen, es ließe sich eine allgemeingültige Methode finden, mit der man Anforderungen der teils doch recht unterschiedlichen Plugins identifizieren könnte. Dies war so leider nicht möglich. Stattdessen konnten aber einige für alle Plugins geltenden Feature-Klassen identifiziert werden, die bestimmte Arten von Funktionalitäten zusammenfassen und ihre Auswirkung auf die Kompatibilität mit Saros bewertet werden.

Feature-Klassen:

  • Ausführung des Programmcodes
  • Werkzeuge zur Quelltext-Analyse
  • Werkzeuge zur automatischen Quelltext-Modifikation

Weiterhin wurden einige Anhaltspunkte genannt, die die Bewertung und Einordnung verschiedener Plugin-Funktionalitäten in eine der Feature-Klassen erleichtern soll.

Testfälle

Um die Erfüllung der von Saros gestellten Kompatibilitätsanforderungen zu überprüfen, wurden zahlreiche konkrete Testfälle entsprechend der in der Anforderungsanalyse identifizierten Bereiche entworfen.

Die Erfüllung der Kompatibilitätsanforderungen der ausgewählten Plugins kann mit einer Reihe von generischen Testfällen untersucht werden, die entsprechend der identifizierten Feature-Klassen erstellt wurden.

Getestete Plugins

Im Rahmen dieser Arbeit wurden verschiedene Sprachplugins für die Entwicklungsumgebung Eclipse getestet. Eine genaue Übersichtstabelle über die Ergebnisse der Kompatibilitätstests findet sich unter ThesisDPPXVITestedPlugins.

Wochenberichte

Siehe Weekly Reports für mehr Informationen.

Comments