[kaffe] JDK API compatibility

Dalibor Topic robilad at yahoo.com
Wed Jun 26 19:32:18 PDT 2002


Hi,

I played with japitools 0.8 today. I created japi
files for jdk 1.0.2, 1.2 and 1.3. Jdk 1.4 can't be
japized due to a bug in jode. Overall, I must say that
japitools are quite nice.

Current (as in what's in CVS right now) kaffe's stats:

vs Java 1.0 API:

Packages: none missing, 7 good.
Classes: 1 missing, 1 bad, 170 good.
Interfaces: none missing, none bad, 18 good.
Fields: 4 missing, 5 bad, 446 good.
Constructors: 2 missing, none bad, 317 good.
Methods: 29 missing, 10 bad, 4799 good.
Total Errors: 52.
Meaningless API coverage score: 2.17% missing, 0.27%
bad, 97.56% good.

vs Java 1.1 API

Packages: 1 missing, 21 good.
Classes: 3 missing, 1 bad, 384 good.
Interfaces: 1 missing, none bad, 80 good.
Fields: 1 missing, 49 bad, 1376 good.
Constructors: 3 missing, 1 bad, 645 good.
Methods: 13 missing, 16 bad, 10486 good.
Total Errors: 88.
Meaningless API coverage score: 1.63% missing, 0.51%
bad, 97.86% good.

vs Java 1.2 API

Packages: 27 missing, 26 good.
Classes: 73 missing, 14 bad, 476 good.
Interfaces: 26 missing, none bad, 110 good.
Fields: 141 missing, 51 bad, 1793 good.
Constructors: 25 missing, 2 bad, 857 good.
Methods: 515 missing, 26 bad, 14157 good.
Total Errors: 879.
Meaningless API coverage score: 18.93% missing, 0.43%
bad, 80.64% good.

vs Java 1.3 API

Packages: 40 missing, 26 good.
Classes: 120 missing, 35 bad, 461 good.
Interfaces: 35 missing, none bad, 113 good.
Fields: 152 missing, 53 bad, 1775 good.
Constructors: 32 missing, 2 bad, 865 good.
Methods: 578 missing, 27 bad, 14264 good.
Total Errors: 1043.
Meaningless API coverage score: 29.59% missing, 0.47%
bad, 69.94% good.

What do the numbers tell us? We are pretty close to
having an implementation of the full Java 1.0 API. The
errors pointed out by japitools seem to be easily
fixable. For Java 1.1 API, the situation is similar.
The missing package is java.security.acl, containing
only interfaces and exceptions, so that should be
easy. Unfortunately, we are quite far away from full
1.2, and even further from full 1.3 API.

That being said, our implementation of the essential
packages (io, lang, net, util) seems to have only a
few remaining things missing for 1.2 compliance. Most
of that will come with 1.2 class loading, once it's
done.

I'm off to fix the JDK 1.0 issues ...

dali

__________________________________________________
Do You Yahoo!?
Yahoo! - Official partner of 2002 FIFA World Cup
http://fifaworldcup.yahoo.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: japitools-0.8-results-only.tgz
Type: application/octet-stream
Size: 20473 bytes
Desc: japitools-0.8-results-only.tgz
Url : http://kaffe.org/pipermail/kaffe/attachments/20020626/74efd449/attachment-0003.obj 


More information about the kaffe mailing list