CIAOpp ist ein Programmprozessor -Framework für CIAO. CIAOPP führt eine Reihe von Programmdebugging-, Analyse- und Quell-zu-Source-Transformationsaufgaben aus:
Inferenz der Eigenschaften der Prädikate und Literale des Programms ( Typen , Modi und andere Eigenschaften der variablen Instanziierung , Nicht-Failure , Bestimmungsgrenzen , Grenzen zu Rechenkosten , Grenzen zu Größen der Begriffe im Programm usw.).
Bestimmte Arten von statischen Debuggen und Überprüfungen , die vor dem Ausführen des Programms Fehler finden. Dies umfasst die Überprüfung, wie Programme für die Systembibliotheksprädikate von Systemen und die Überprüfung der im Programm vorhandenen Behauptungen oder in anderen vom Programm verwendeten Modulen überprüft werden. Solche Behauptungen stellen im Wesentlichen Teilspezifikationen des Programms dar.
Verschiedene Arten von Quell-zu-Quell -Programmtransformationen wie Programmspezialisierung , Schnitt , teilweise Bewertung , Programmparallelisierung (Berücksichtigung der Granularitätskontrolle ), Einbeziehung von Laufzeittests für Behauptungen, die bei Compile-Time nicht vollständig überprüft werden können.
Die durch Analyse erzeugten Informationen und die Behauptungen in den Spezifikationen sind alle in derselben Behauptungssprache geschrieben, was wiederum auch vom Dokumentationsgenerator des CIAO -Systems lpdoc verwendet wird.
Dieses Repository enthält das generische Präprozessor -Framework zusammen mit einigen grundlegenden Analysen, Transformationen und Sprachunterstützung. Weitere Funktionen (einschließlich der Unterstützung einer Vielzahl von Programmiersprachen) werden als separate Bündel verteilt.
CIAOPP wird unter der GNU General Public Lizenz verteilt.
Standardmäßig erfasst und baut CIAO CIAOPP während der Systemkompilierung auf. Um die Standardkonfigurationsoptionen anzupassen, finden Sie in den CIAO -Installationsanweisungen.
Es ist möglich, einen separaten Build und eine separate Installation von CIAOpp mit dem folgenden Befehl durchzuführen:
$ ciao get ciaopp