The order of relation-lookup(|"<sub:") (transitive relation) is not deterministic. With reset-reanalize the order changes in the following cases:

system debug

	class A1               { attributes i1 : int j1 : int          methods	m {i1' = i1?}}
	class B1               { attributes k1 : int                   methods	m {k1' = k1?}}
	class C1 extends A1,B1 {                                       methods	m {j1' = j1?}}

It does not change for

system debug

	class A           { attributes i : int methods	m {i' = i?}	}
	class B extends A {}
	class C extends B {}

It looks like taking the closure is deterministic, but the order of the relations defined at a certain node is not.

Any ideas on what is going on?

Submitted by Daco Harkes on 22 January 2015 at 10:53

Log in to post comments