Semantik Checker

Phoenix warp Phoenix > sca

About

Deutsch

Unser Auftraggeber zoe solutions kreierte ein Programm namens Phoenix Warp. Dieses dient im Gröberen dazu, die Verbindung zwischen Servern und Clients über Webapplikationen zu vereinfachen.
Unsere Aufgabe besteht darin, ein Überprüfungsprogramm für dieses Framework zu erstellen.
Das Programm Source Code Analyzer besteht aus einem grafischen User Interface, mit dem die zu überprüfenden Daten ausgewählt und gerade ausgeführten Aktionen angezeigt werden können. Wenn der Endbenutzer seine Ordnerstruktur mit der entsprechenden Programmiersprache ausgewählt hat, wird diese anschließend vom Programm erfasst und die einzelnen Dateien mit dem entsprechenden Pfad zwischengespeichert. Die verschiedenen Funktionen und Klassen werden ermittelt und auf ihre korrekte Schreibweise überprüft. Hierbei wird darauf geachtet, dass die generell verwendeten Semantik- und Syntaxregeln eingehalten werden und dass Funktionen, die aufgerufen werden, auch tatsächlich vorhandenen sind. Zusätzlich werden noch weniger kritische Fehler behandelt, z.B. ob für alle Funktionen und Klassen vollständige Kommentarblöcke vorhanden sind.
Treten "Fehler" im Programm auf, werden diese in verschiedenen Farben in einer Log Datei angezeigt. Diese Datei sollte als PDF erstellt werden.

English

Our employer zoe solutions created a program named Phoenix Warp. This program should simplify the connection between server and clients.
Because the project should be published as open source at the end of the year, it needs to have the right rules for the used programming languages.
Our part is to program a validator for the existing project.
The program named Source Code Analyzer should be able to gather a given folder structure with PHP and JavaScript files via a user interface.
Afterwards the code is analyzed and the source is checked for its correctness and meaningfulness.
At this part it is also very important to check if the source is written in the latest coding conventions of the used programming language like name declarations. Another part is that references exist for called functions. There should also be comments for written functions so this also needs to be checked.
If "errors" occur during the check these will be saved in a log file and then appear as a PDF file with colored error messages.