Hi, 

I would like to ask for some opinions on measuring how "correct" a new 
implementation of a J2SE class is. Consider if someone develops a clean 
implementation of fictitious J2SE type java.foo.Bar which is based on 
their interpretation of the reference API documentation. Like the 
deliverable code, we can expect the unit test code to also be written 
based on assumptions made from the reference API. Is this working model 
good enough to ensure that the resulting type can be used as a one-for-one 
replacement for the equivalent implementation in the reference 
distribution ? What about the behaviour that is not adequately captured in 
the existing documentation ? For example, the precise layout of the result 
from the toString() method ; the order in which items are returned when 
iterating through a collection property etc. 

It is likely safe to assume that users running an application on 
alternative class libraries will not be expecting to make many (any ?) 
changes to that application code if it was previously working as desired. 
So in the general case then how can subtle behavioural incompatibilities 
*between* API implementations be discovered, recorded and remedied ? I 
would be interested in hearing about any tooling or utilities that can 
help with this issue. 

Or perhaps this is not an issue at all .....? 

Best regards, 
George

Reply via email to