In meiner OPAL-Analyse erstellen I-Domäne Werte auf folgende Weise:Arbeiten mit präzisem/ungenauem DomainValues in der abstrakten Interpretation ist OPAL
domain.TypedValue(org.opalj.ai.parameterToValueIndex(
caller.isStatic, caller.descriptor, index), typeApproximation.upperTypeBound)
In meinen typeApproximation Objekten, ich die Informationen habe, ob seine Art ist ein oberer typgebundener oder ein genauer Laufzeittyp. Ich weiß jedoch nicht, wie ich diese Information an den jeweiligen DomainValue weitergeben soll.
I geben diese an die DomainValues BaseAI.perform
Verfahren eine abstrakte Interpretation eines Java-Methode auszuführen:
BaseAI.perform(classFile, caller, domain)(Some(parameters))
Die DomainValues sind in dem Parameter-Wert enthalten.
Gibt es eine Möglichkeit, die abstrakte Interpretation zu erklären, dass einige meiner Parameter präzise Laufzeittypen sind, während einige andere Parameter nur obere Typgrenzen sind?
Vielen Dank. Da ich einige präzise Typen sowie einige obere Typgrenzen habe, habe ich die flexible Methode ObjectValue verwendet. Allerdings musste ich eine neue Domäne definieren, die diese Methode öffentlich zugänglich machte, da sie als geschützt deklariert ist. – mariotrageser