Hi, Beeing asked how it happenes that a comparably small application fails in wine while something bigger like office 2003 and half-life 2 works I thought how one could mathematically express that some application works in wine.
There seem to be a few factors:
* Some propability that some behavior Y causes a bug in wine. I assume that is fixed, perhaps a per-dll value, perhaps not
* Of course the application size. How many different things does the app do. The bigger, the more likely it is that something of that fails.
* People often complain that only popular apps work in wine, so the popularity of the app seems to be important. This manifests in the fact that bugs hit by popular apps are more likely to be fixed first.
Ok, so how do these factors relate? Popularity seems to be the most important, but I am not sure how app size and the bug propability relate. Especially the bug propability would be interesting I think, as it might be some measure of the maturity of wine :-)
Any ideas about that? Stefan
Hi,
On Tue, Oct 24, 2006 at 11:05:10PM +0200, Stefan Dösinger wrote:
Any ideas about that?
One factor in the probability calculation would be the number of Google hits for the application name (the more common, the better debugged it must be), i.e. your popularity factor.
Another one would be measuring the amount of APIs used by the program and its libraries (use winedump?).
Andreas Mohr
On Wednesday 25 October 2006 08:11, Andreas Mohr wrote:
Hi,
On Tue, Oct 24, 2006 at 11:05:10PM +0200, Stefan Dösinger wrote:
Any ideas about that?
One factor in the probability calculation would be the number of Google hits for the application name (the more common, the better debugged it must be), i.e. your popularity factor.
Another one would be measuring the amount of APIs used by the program and its libraries (use winedump?).
Andreas Mohr
I don't think this is very relevant. The probability of an application working would be related to the API "sets": touched by the application because wine doesn't have even coverage of all APIs, So the Probability that an applications API use will work in Wine depends on the product of the Probabilities of encountering an unimplemented call in each API and the criticality of that call - eg fatality of the missing functionality
This could actually be computed for a crossection of application to give a general prediction, if you knew the frequency of use for each API call in a representative population of applications, and the completion status and criticality of all the cals in each API (or even just the % complete of the API - the problem being that the probability of a call being used isn't the same for all entry point in a given API) - By the way, in general this is called FMECA - Failure Modes, Effects and Criticality analysis - look up this topic for further ideas.
It'd make a nice University student project.
Bob
On Wednesday 25 October 2006 00:49, Robert Lunnon wrote:
This could actually be computed for a crossection of application to give a general prediction, if you knew the frequency of use for each API call in a representative population of applications, and the completion status and criticality of all the cals in each API (or even just the % complete of the API - the problem being that the probability of a call being used isn't the same for all entry point in a given API) - By the way, in general this is called FMECA - Failure Modes, Effects and Criticality analysis - look up this topic for further ideas.
It'd make a nice University student project.
IIRC, David Gümbel's company ITOMIG [1] makes this kind of assesments, based on technology developed during David's diploma thesis [2]. Unfortunately the thesis is in German and the only whitepaper I found is German as well. Still, David might be available for some suggestions, he should be reading this list. (Also, Stefan should be able to read it ;) )
Cheers, Kai
[1] http://www.itomig.de/ [2] http://www.itomig.de/uploads/media/Diplomarbeit_ganymede_ITOMIG.pdf