Menu

#20 wala eclipse java parsing differs from JUnit java parsing

open
Eclipse (8)
7
2007-10-22
2007-10-19
Anonymous
No

Hi,

Using the test src file 'Simple1.java' as the single file in an Java project for the wala.eclipse plugin results in a thrown WalaError from

DefaultIRFactory.makeIR

The analysis shows that makeIR can only handle synthetic or ShrikeCT methods, NOT SRC methods.
I could not find the reason, that in the junit test only synthetic methods are generated.

I assume that you never test your code against the eclipse project.

Please fix the makeIR method for handling source methods. Several weeks ago it was ok.

DefaultIRFactory.makeIR(IMethod, Context, SSAOptions) line: 52
SSACache.findOrCreateIR(IMethod, Context, SSAOptions) line: 79
AstContextInsensitiveSSAContextInterpreter(ContextInsensitiveSSAInterpreter).getIR(CGNode) line: 47
DelegatingSSAContextInterpreter.getIR(CGNode) line: 47
DelegatingSSAContextInterpreter.getIR(CGNode) line: 53
AstJavaZeroXCFABuilder(SSAPropagationCallGraphBuilder).unconditionallyAddConstraintsFromNode(CGNode) line: 231
AstJavaZeroXCFABuilder(SSAPropagationCallGraphBuilder).addConstraintsFromNode(CGNode) line: 209
AstJavaZeroXCFABuilder(PropagationCallGraphBuilder).addConstraintsFromNewNodes() line: 362
StandardSolver.solve() line: 52
AstJavaZeroXCFABuilder(PropagationCallGraphBuilder).makeCallGraph(AnalysisOptions) line: 304
WalaProjectCGModel$1(AbstractAnalysisEngine).buildCallGraph(IClassHierarchy, AnalysisOptions, boolean) line: 157
WalaProjectCGModel$1(AbstractAnalysisEngine).defaultCallGraphBuilder() line: 360
WalaProjectCGModel$1(AbstractAnalysisEngine).buildDefaultCallGraph() line: 364
WalaProjectCGModelWithMain(WalaProjectCGModel).buildGraph() line: 65
CGView.createViewer(Composite, IJavaProject, WalaCGModel) line: 199
Best Regards

Juergen

Juergen.Mutschall@desys.com

Discussion

  • Stephen Fink

    Stephen Fink - 2007-10-19
    • labels: --> Eclipse
    • priority: 5 --> 7
     
  • Nobody/Anonymous

    Logged In: NO

    Hi,

    I solved the problem by deriving EclipseProjectAnalysisEngine from JavaSourceAnalysisEngine instead of AbstractAnalysisEngine but it will not work for other languages than Java.

    Best regards

    Juergen

     
  • Stephen Fink

    Stephen Fink - 2007-10-22
    • assigned_to: nobody --> dolby-oss