Frage

Ich bin die Analyse einig Legacy-Code. Es ist etwa 80.000 Zeilen des alten plsql Code. Auf einer Faust Blick ist es eine ganz Duplizierung in der Quelle, die entfernt werden muss. Stattdessen Sie an jeder Datei tun diff Anleitung und auf der Suche muss es einige Werkzeuge / Command Confu gibt doppelte Zeilen des Quellcodes zu erkennen.

Mein Ziel ist eine fundierte Vermutung über die minimale Größe eines Umschreiben von Quelle zu machen und darüber, wie viel tatsächliches Wissen wird in diesem Programm erfaßt. Ich schrieb einige eine statische Code-Analyse die Menge der Steueranweisungen IF ELSE FOR usw. und Funktionen in jeder Datei zu finden. Aber duplizierten Code muss noch von meiner Statistik entfernt werden.

War es hilfreich?

Lösung

Haben Sie sich unter Simian - Ähnlichkeit Analyzer ? (Just geprüft und es ist nicht mehr frei, aber es ist für einen Zeitraum von 15 Tagen für die Auswertung zur Verfügung.)

Simian (Ähnlichkeit Analyser) identifiziert Vervielfältigung in Java, C #, C, C ++, COBOL, Ruby, JSP, ASP, HTML, XML, Visual Basic, Groovy-Quellcode und auch reine Textdateien. In der Tat, Simian kann auf jedem Menschen lesbaren verwendet werden Dateien wie INI-Dateien, Deployment Deskriptoren, nennen Sie es.

Ich habe es in der Praxis verwendet und es funktioniert gut.

Andere Tipps

Sonar hat Vervielfältigung Erkennung und Ansprüche zu unterstützen, PL / SQL, obwohl ich es nie benutzt habe, dass .

Sie müssten beg / Borge / stehlen / schreiben plsql Parser und vergleichen Sie die resultierende abstrakte Syntaxbäume. Mit der Größe der Codebasis Sie haben, das könnte sich lohnen. Es gäbe andere Verwendungen für den Parser sein, wenn Sie fertig sind.

Wie wäre es damit:

http://sourceforge.net/projects/sddforeclipse/

Es ist Open Source und die durch kommerzielle Software verwendet werden. Es ist ein Plugin für Eclipse, übrigens.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top