Measuring Wine's API completeness

Michael Jung mjung at iss.tu-darmstadt.de
Thu Nov 10 16:24:39 CST 2005


Hello everybody,

talking to David Gümbel today the idea came up that it might be worth it to 
introduce an additional section in the comments that document the exported 
APIs. Something like 'IMPLEMENTATION STATUS', which would document the 
author's opinion on how complete the implementation of a given API is. We 
could introduce a classification scheme similar to:

STUBBED:     Well, stubbed.
SKETCHY:     Implemented just enough to make a specific application
             or a small set of applications happy.
SUBSTANTIAL: Implemented a substantial part of the API (Perhaps as 
             much as is documented on MSDN).
COMPLETE:    The author of this API considers the implementation complete.
REVIEWED:    The code was reviewed for completeness and correctness. 

It would be cool for various reasons, if we could do this in a machine 
readable way:

1. We could generate the 'Wine DLLs Status' page automatically with every 
release and we would have a historical record in cvs, which gives another 
view on the progress we make.

2. We could establish guidelines like "A patch, which touches an API marked 
REVIEWED can only go into cvs, if reviewed by n people other than the 
author".

3. Tools like ITOMIG's ganymede, which try to give an estimate on how well an 
application can be expected to work on wine by doing a static analysis to 
figure out the used APIs, could apply this information.

Since COM classes, which account for a substantial part of win32, are not 
directly exposed via the APIs, we probably would have to think about a 
similar machine parsable documentation scheme here.

What do people think about this?

Bye,
-- 
Michael Jung
mjung at iss.tu-darmstadt.de



More information about the wine-devel mailing list