BlogKontaktTagcloud

Fertig!

Letzten Freitag haben wir unsere Diplomarbeit abgegeben. Anschliessend gings direkt an die wirklich tolle Christmas Bar und am Montag ab nach Ischgl auf die Diplomreise. Über die Ereignise dort darf ich nicht bloggen, da mir für diesen Zeitraum ein Blogverbot auferlegt wurde. Soweit nur das: Ich bin wesentlich mehr Ski gefahren als ich angenomen hatte und selbstverständlich sahen wir auch auf die übelsten Seiten des Alkoholkonsumes.
Ähnliche Beiträge:
Woche im Schnelldurchlauf
Diplomarbeitsausstellung an der HSR
1 Blogpost
Still alive
Restart
Comments (4)  Permalink

C++ Refactoring Support für Eclipse-CDT

Nur knapp 5 Tage dauert unsere Diplomarbeit noch. Inzwischen ist zumindest unser Broschürentext fertig, den ich hier exklusiv vorab publiziere. Dieser Text wird zusammen mit den Texten der anderen Diplomarbeiten des Fachbereichs Informatik der HSR in der im Januar erscheinenden Diplomarbeitsbroschüre gedruckt. Diese Broschüre erhalten dann die Eltern und andere interessierte Personen wir haben deshalb versucht den Text nicht allzu technisch werden zu lasen. Wer es also genauer wissen will muss an die Diplomarbeitsaustellung kommen.

Aufgabenstellung

Eclipse ist eine professionelle Software-Entwicklungsumgebung. Die Programmiersprache Java wird von Eclipse standardmässig unterstützt, allerdings existiert mit dem CDT (C/C++ Development Tooling) auch eine Erweiterung für die Entwicklung mit den Programmiersprachen C und C++.

Während in den Eclipse Java Development Tools (JDT) verschiedene Refactorings angeboten werden, steht für CDT erst ein automatisiertes Refactoring zur Verfügung.

Unter Refactoring versteht man eine Vorgehensweise in der Softwareentwicklung bei der die Qualität von Quellcode gesteigert wird, ohne dabei dessen Funktionalität zu verändern. Refactoring reduziert mittelfristig den Aufwand für die Fehleranalyse und für funktionale Erweiterun-gen. Refactorings sind in klar definierte Schritte aufgeteilt. Wenn diese automatisch ausgeführt werden können, erleichtert dies die Arbeit der Entwickler und ist deshalb für Entwicklungs-umgebungen ein starker Wettbewerbsvorteil.

Ziel der ArbeitExtract Method Refactoring

Es sollen verschiedene Refactorings implementiert werden um den Entwicklern ihre Alltagsarbeit zu erleichtern. Die Refactorings sollen möglichst viele Eigenschaften von C++ unterstützen, Kommentare und Makros sollen bei den Codetransformationen behandelt werden und wieder richtig zurückgeschrieben werden. Die bestehende Infrastruktur von Eclipse im Allgemeinen und CDT im Speziellen soll verwendet werden und wo nötig erweitert werden.

Lösung

Der bestehende Code des CDT wurde so erweitert, dass die Refactorings „Replace Magic Number with Symbolic Constant“, „Move Field“, „Move Method“, „Extract Subclass“ und „Extract Method“ automatisiert möglich sind.

Durch das Erweitern des Parsers und des Abstract-Syntax-Tree war es uns möglich auch von Eclipse CDT nicht behandelte Codestellen zu parsen und korrekt zu erkennen. Durch diese Erweiterung der bestehenden Infrastruktur können nun auch Kommentare und Makros erkannt und während der Durchführung des Refactorings korrekt behandelt werden.

Damit der Code aus dem Abstract-Syntax-Tree wieder in Quellcode umgewandelt werden kann, wurde ein Codegenerator implementiert.

Um die Refactorings effizient zu testen, wurde das Testingframework JUnit so erweitert, dass die Testdefinitionen aus einer Datei gelesen werden können. Um die Testdefinitionen möglichst einfach zu bearbeiten, wurde ein kleiner Editor für Eclipse entwickelt. Mit CruiseControl wurde die von uns angepasste Version von Eclipse CDT bei jeder Änderung getestet und für sieben verschiedene Plattformen übersetzt.

Ähnliche Beiträge:
Diplomarbeitsausstellung an der HSR
Diplomarbeiten an der HSR
Ruby on Rails Coding Weekend
ROFL Prog 1
I dit it!
Comments (6)  Permalink

Diplomarbeitsausstellung an der HSR

In einer Woche werden (hoffentlich) alle Elektronik- und Informatik-Diplomanden der HSR ihre  Arbeit beendet haben. Gleich anschliessend werden die Arbeiten direkt am "Entstehungsort" ausgestellt. Interessierte können sich die Arbeiten von den Diplomanden erklären und vorführen lassen. Wer früh kommt wird vieleicht gar noch denn ein oder anderen im Schlussspurt erleben, offizieller Abgabeschluss ist erst um 17 Uhr. Ich freue mich natürlich über alle Besucher und versuch meine Arbeit so verständlich wie nur irgendwie möglich zu erklären.

Der offizielle Text aus dem Ankündigungsmail: "Am Freitagnachmittag, 15. Dezember 2006, werden zwischen 15.00 - 19.00 Uhr in den Labors der Abteilungen Informatik und Elektrotechnik die Diplomarbeiten gezeigt und vorgeführt. Neu werden die Besucher auch am Samstag, 16. Dezember 2006 von 9.00 - 12.00 Uhr die Gelegenheit haben, die Diplomausstellung der Abteilung Elektrotechnik zu besuchen."

Der Besuch am Samstag ist wohl nicht zu empfehlen, erstens werden dann die Diplomarbeitsplätze der Informatiker verlassen sein und ich bezweifle das um diese Zeit am Morgen viele Elektrotechniker in nüchternem Zustand (Stichwort Christmas Bar) anzutreffen sein werden.

Die offiziele Ankündigung (PDF), die Liste der Informatikarbeiten und die Liste der Arbeiten beider Abteilungen (PDF).
Ähnliche Beiträge:
I dit it!
Fertig!
C++ Refactoring Support für Eclipse-CDT
Ingenieur?
Restart
Comments (0)  Permalink

1 Blogpost

1 Blogpost im November, ein Tiefpunkt für diesen Blog. Leider habe ich a) momentan zu wenig Zeit um regelmässig zu schreiben und b) sind die wirklich interessanten Dinge noch in der schwebe.

Wir sind momentan mit unser Diplomarbeit wieder im Zeitplan. Und damit es nicht immer nur beim trocken jammern über zu wenig Zeit bleibt, habe ich mal ein Screencast online gestellt, weitere werden hoffenflich bald folgen. Unsere Diplomarbeiten werden 15. Dezember am späteren Nachmittag direkt in der "Werkstatt" ausgestellt, mehr dazu ebenfalls zu einerem späteren Zeitpunkt hier.
Ähnliche Beiträge:
10 Ausreden um nicht zu bloggen
Fertig!
Functional misuse of this blog
Sechshundert Tage
Own flat
Comments (4)  Permalink
1-4/4