Das Ziel des Projekts Jicolyzer ist es, Entwickler:innen frühestmöglich Rückmeldungen zu Fehlern und kritischen Verwundbarkeiten im Programmcode zu geben. Um das zu erreichen, werden statische Analysen für die Programmiersprachen nach der Norm IEC 61131-3 direkt in der für SPS gängigen Entwicklungsumgebung Codesys ausgeführt. Auf diese Weise erhalten Entwicklerinnen und Entwickler bereits Fehlerhinweise, während sie den Programmcode schreiben. Zudem ermöglichen statische Analysen das Auffinden von Fehlern im Programmcode, ohne ihn zu kompilieren und auszuführen. Sie können u.a. unbeabsichtigte Datenflüsse oder die falsche Verwendung von API-Bausteinen aufzeigen. Die bei der Analyse gefundenen Fehler werden – ähnlich einer Rechtschreibprüfung – im Code-Editor hervorgehoben und können sofort behoben werden.
Das Team des Fraunhofer IEM hat innerhalb des Projekts distributive Analyseframeworks entwickelt, die in der Lage sind, just in time zu arbeiten. Diese liefern innerhalb von Sekunden Ergebnisse und halten gleichzeitig den Speicherverbrauch gering. Die Fehlererkennung im Programmcode erfolgt mittels Taint- und Type-State-Analysen, die sich durch umfangreiche Konfigurationsmöglichkeiten sowohl auf die Codesys-API als auch auf eingebundene Drittbibliotheken anwenden lassen. Die gewonnenen Projekterkenntnisse sollen Bestandteil von Codesys werden, um innovative Softwareprodukte bereits in der Entstehung effektiver abzusichern.