AI with PerformInvokations domain fails on checkstyle-5.1

Issue #133 resolved
created an issue

When generating the three-address code for each method in checkstyle-5.1 using the DefaultPerformInvocationsDomainWithCFGAndDefUse, the AI fails with the following error:

[error]$$anon$1: the interpretation failed
[error]     at$.apply(InterpretationFailedException.scala:81)
[error]     at$1(AI.scala:578)
[error]     at
[error]     at
[error]     at
[error]     at
[error]     at
[error]     at$.$anonfun$compute$3(SimpleAIKey.scala:99)
[error]     at org.opalj.tac.DefaultTACAIKey$.computeAndCacheTAC$1(DefaultTACAIKey.scala:76)
[error]     at org.opalj.tac.DefaultTACAIKey$.$anonfun$compute$1(DefaultTACAIKey.scala:94)
[error]     at org.opalj.fpcf.analyses.escape.SimpleEscapeAnalysis.determineEscape(SimpleEscapeAnalysis.scala:111)
[error]     at org.oplj.fpcf.analyses.escape.SimpleEscapeAnalysis$.$anonfun$start$1(SimpleEscapeAnalysis.scala:142)
[error]     at org.opalj.fpcf.PropertyStore.$anonfun$scheduleComputation$1(PropertyStore.scala:1647)
[error]     at org.opalj.fpcf.PropertyStore$$anon$
[error]     at java.util.concurrent.Executors$
[error]     at
[error]     at java.util.concurrent.ThreadPoolExecutor.runWorker(
[error]     at java.util.concurrent.ThreadPoolExecutor$
[error]     at
[error] Caused by: java.lang.AssertionError: assertion failed: should be precise Set({, null}[23;refId=124], {, null}[1;refId=108])
[error]     at scala.Predef$.assert(Predef.scala:219)
[error]     at$MultipleReferenceValues.<init>(ReferenceValues.scala:1083)

Comments (4)

  1. Michael Eichberg repo owner

    This issue appears if we have an incomplete type hierarchy where we join an MObjectType --which represents a final type, but which also explicitly lists a super type to satisfy the CHECKCAST contract (the super type is not part of the code base!) -- with an SObjectType representing the final type...).

  2. Michael Eichberg repo owner

    Merge branch 'develop' into feature/ExtendedPurityProperty

    • develop: fixes Issue #137 fixed issue #133 added comment regarding a very special case related to incomplete type hierarchies and final types fixed comment removed old code improved the output

    → <<cset 8dba9358d1da>>

  3. Log in to comment