Hi,
I am trying to experiment with the built-in must-alias analyses in Chord, and am having some issues.
I have attached the Java program on which I am running the analysis.
For the hybrid-mustalias-java run, I am getting the following error (the full log logHybrid.txt is attached)
Exception in thread "main" java.lang.AssertionError
at chord.analyses.typestate.Edge.canMerge(Edge.java:59)
at chord.project.analyses.rhs.RHSAnalysis.addPathEdge(RHSAnalysis.java:529)
at chord.project.analyses.rhs.RHSAnalysis.runPass(RHSAnalysis.java:247)
at chord.analyses.mustalias.tdbu.PrePassAnalysis.run(PrePassAnalysis.java:80)
at chord.analyses.mustalias.tdbu.MustAliasHybridAnalysis.init(MustAliasHybridAnalysis.java:143)
at chord.analyses.mustalias.tdbu.MustAliasHybridAnalysis.run(MustAliasHybridAnalysis.java:226)
at chord.project.ClassicProject.runTask(ClassicProject.java:393)
at chord.project.ClassicProject.runTask(ClassicProject.java:414)
at chord.project.ClassicProject.run(ClassicProject.java:107)
at chord.project.Main.run(Main.java:78)
at chord.project.Main.main(Main.java:50)
For the bu-mustalias-java, I am getting the error (full log attached as logBU.java):
Exception in thread "main" java.lang.RuntimeException: Check the chord options, phi instructions should be removed.
at chord.analyses.mustalias.bu.MustAliasBottomUpAnalysis$MyQuadVisitor.visitPhi(MustAliasBottomUpAnalysis.java:196)
at joeq.Compiler.Quad.Operator$Phi.accept(Operator.java:339)
at joeq.Compiler.Quad.Quad.accept(Quad.java:145)
at chord.analyses.mustalias.bu.MustAliasBottomUpAnalysis.transfer(MustAliasBottomUpAnalysis.java:64)
at chord.analyses.mustalias.bu.MustAliasBottomUpAnalysis.transfer(MustAliasBottomUpAnalysis.java:36)
at chord.project.analyses.tdbu.StandaloneBUAnalysis.runBUonMethod(StandaloneBUAnalysis.java:157)
at chord.project.analyses.tdbu.StandaloneBUAnalysis.runBU(StandaloneBUAnalysis.java:98)
at chord.project.analyses.tdbu.StandaloneBUAnalysis.run(StandaloneBUAnalysis.java:44)
at chord.analyses.mustalias.bu.MustAliasBottomUpAnalysis.run(MustAliasBottomUpAnalysis.java:54)
at chord.analyses.mustalias.bu.MustAliasBUTrigger.run(MustAliasBUTrigger.java:97)
at chord.project.ClassicProject.runTask(ClassicProject.java:393)
at chord.project.ClassicProject.runTask(ClassicProject.java:414)
at chord.project.ClassicProject.run(ClassicProject.java:107)
at chord.project.Main.run(Main.java:78)
at chord.project.Main.main(Main.java:50)
Am I making some mistake? Would really appreciate some help.
Sincerely,
Suvam.