Nochmals verbesserte Fehleranalyse im IDM A.06.02.l

Die erweiterte Fehleranalyse wurde in der aktuellen Version A.06.02.l des ISA Dialog Managers um mehrere Funktionen erweitert.

Von der Fehleranalyse werden nun auch unbenutzte, importierte Module erkannt, die per use- oder import-Anweisung importiert werden. Ein importiertes Modul gilt als unbenutzt, wenn keine exportierten Objekte daraus referenziert werden. Unbenutzte Imports werden mit dem neuen Fehlercode DME_ImportNotUsed („Imported module never used“) gemeldet.

Die Interface-Dateien enthalten nun die Definitionen aller benutzerdefinierten Attribute und Methoden, das Herausschreiben als Kommentare in der Form „// @define“ entfällt damit. Diese Definitionen sind notwendig und sinnvoll um die erweiterte Fehleranalyse zu unterstützen und ein unnötiges Nachladen zu vermeiden bzw. um fehlerhafte Zugriffe und Verwendungen von Methoden und Attributen zu erkennen.

In die Typprüfungen bei Zuweisungen, Ausdrücken, Parametern und Rückgabewerten fließt nun die Wertepropagierung aus der Variablenanalyse ein. Außerdem wird die Identifikation von Variablen, Objekten und Kindzugriffen herangezogen. Mögliche Fehler sind durch die Wörter „maybe“ und „possible“ in den Fehlermeldungen gekennzeichnet. Ein absoluter Pfad, der beim Laden des Moduls oder Dialogs komplett aufgelöst werden kann, wird als konstanter Wert (Objekt-ID) behandelt. Dadurch können solche Werte auch für die Datenflussanalyse und Typprüfung direkt herangezogen werden. Handelt es sich um einen relativen Pfad mit bezeichneten Kind-Objekten, die erst zur Laufzeit ausgewertet werden können, so wird das zur Ladezeit referenzierte Objekt als „maybe“-Gültigkeitsobjekt verwendet, um so Typprüfungen z.B. bei der Zuweisung durchzuführen. Außerdem können so Hinweise auf möglicherweise fehlende Attribute gegeben werden. Durch die Objekt-Erkennung ermittelt die Fehleranalyse die vorhandenen Methoden und kann fehlerhafte Typen, Argumente und Rückgabetypen oder Unstimmigkeiten in der Parameterzahl entdecken. Eine Identifizierung von Methoden, die am Modell verwendet, aber erst an der Instanz vorhanden sind, führen typischerweise zu einer Fehlermeldung „Method maybe undefined“.

Die Fehleranalyse kann nun so konfiguriert werden, dass für die Analyse von Schleifenvariablen ein „read“-Zugriff angenommen wird. Dadurch verschwinden „Variable is never read“-Warnungen, die sich auf for-Schleifenvariablen beziehen. Die Konfiguration erfolgt über die Option -IDManalyzerconfig=loop_var_read oder die Umgebungsvariable IDM_ANALYZERCONFIG, wobei die Option Vorrang hat.

Mit der Option -IDMdisable_errors=namepart können mehrere Fehlermeldungen gleichzeitig deaktiviert werden. Durch die Angabe namepart werden alle Fehlermeldungen deaktiviert, deren Fehlercode namepart enthält.

Daneben wurden verschiedene Probleme bei den vorhandenen Funktionen der erweiterten Fehleranalyse behoben.

Liste der Korrekturen und Änderungen

13076, 13067

de_DE_formal