Hi Doug: The demjava testing team (Karen and Robert) have reported the following: below we expected the path to be prematurely terminated after A : A ( ) However, Demeter/Java produces the wrong path set: (see: /proj/adaptive/www/sources/DemeterJava/examples/karen1) Demeter/Java version 0.7-beta-4 Copyright (c) 1998 Northeastern University Reading project file program.prj... : A ( : B ( : D ( ) ) ) My traversal Done There is an easy work-around: void f1() via =>X,C to D(DisplayVisitor); ====> void f1() via C to D(DisplayVisitor); and the program works. See /proj/adaptive/www/sources/DemeterJava/examples/karen1-works We computed the propagation graph with AP Studio and it was correct. So the problem seems to be in the code generation part. Please can you this week make demjava print out the traversal graph so that we have a direct way of checking it. The bug can wait to be fixed since there is an easy work around. Is it easy to fix? -- Karl class dictionary: ==================================== A = X . X : B | C *common* . B = "b" D . C = D . D = . Main = . Count_C_Visitor = . adaptive program: ==================================== Main { (@ static public void main(String args[]) throws Exception { A iA = A.parse(System.in); iA.f1(); System.out.println(); System.out.println("My traversal Done"); } @) } A { void f1() via =>X,C to D(DisplayVisitor); } b