Extracting More Object Usage Scenarios for API Protocol Mining

2015 
Automatic protocol mining is a promising approach to infer precise and complete API protocols. However, the effect of the approach largely depends upon the quality of input object usage scenarios, in terms of noise and diversity. This paper aims to extract as many object usage scenarios as possible from object-oriented programs for automatic protocol mining. A large corpus of object usage scenarios can help with eliminating noise accurately and is likely to be diverse. Therefore, precise and complete protocols may be achieved. Given an object-oriented program p, generally, object usage scenarios that can be collected from a run of p is not more than the number of instances used in p. Relying on the inheritance relationship among classes, our technique can extract a maximum of n times more object usage scenarios from p, where n is the average inheritance depth of all object usage scenarios in p. In order to investigate the effect of our technique on mining protocols, we implement it in our previous prototype tool ISpecMiner and use the tool to mine protocols from several real-world applications. The experimental results show that our technique is promising to achieve complete and precise API protocols. In addition, protocols of classes that have not been used in programs can be also achieved, which is helpful for program documentation and understanding.
    • Correction
    • Source
    • Cite
    • Save
    • Machine Reading By IdeaReader
    14
    References
    2
    Citations
    NaN
    KQI
    []