|
|
|
| An oversampling approach for mining program specifications |
| Deng CHEN, Yan-duo ZHANG, Wei WEI, Rong-cun WANG, Xiao-lin LI, Wei LIU, Shi-xun WANG, Rui ZHU |
Hubei Provincial Key Laboratory of Intelligent Robot, Wuhan Institute of Technology, Wuhan 430205, China
School of Computer Science and Technology, China University of Mining and Technology, Xuzhou 221116, China
School of Computer and Information Engineering, Henan Normal University, Xinxiang 453007, China |
|
|
|
Abstract Automatic protocol mining is a promising approach for inferring accurate and complete API protocols. However, just as
with any data-mining technique, this approach requires sufficient training data (object usage scenarios). Existing approaches
resolve the problem by analyzing more programs, which may cause significant runtime overhead. In this paper, we propose an
inheritance-based oversampling approach for object usage scenarios (OUSs). Our technique is based on the inheritance relation-
ship in object-oriented programs. Given an object-oriented program p, generally, the OUSs that can be collected from a run of p are
not more than the objects used during the run. With our technique, a maximum of n times more OUSs can be achieved, where n is
the average number of super-classes of all general OUSs. To investigate the effect of our technique, we implement it in our pre-
vious prototype tool, ISpecMiner, and use the tool to mine protocols from several real-world programs. Experimental results show
that our technique can collect 1.95 times more OUSs than general approaches. Additionally, accurate and complete API protocols
are more likely to be achieved. Furthermore, our technique can mine API protocols for classes never even used in programs, which
are valuable for validating software architectures, program documentation, and understanding. Although our technique will in-
troduce some runtime overhead, it is trivial and acceptable.
|
|
Received: 06 December 2016
Published: 11 June 2019
|
An oversampling approach for mining program specifications
Automatic protocol mining is a promising approach for inferring accurate and complete API protocols. However, just as
with any data-mining technique, this approach requires sufficient training data (object usage scenarios). Existing approaches
resolve the problem by analyzing more programs, which may cause significant runtime overhead. In this paper, we propose an
inheritance-based oversampling approach for object usage scenarios (OUSs). Our technique is based on the inheritance relation-
ship in object-oriented programs. Given an object-oriented program p, generally, the OUSs that can be collected from a run of p are
not more than the objects used during the run. With our technique, a maximum of n times more OUSs can be achieved, where n is
the average number of super-classes of all general OUSs. To investigate the effect of our technique, we implement it in our pre-
vious prototype tool, ISpecMiner, and use the tool to mine protocols from several real-world programs. Experimental results show
that our technique can collect 1.95 times more OUSs than general approaches. Additionally, accurate and complete API protocols
are more likely to be achieved. Furthermore, our technique can mine API protocols for classes never even used in programs, which
are valuable for validating software architectures, program documentation, and understanding. Although our technique will in-
troduce some runtime overhead, it is trivial and acceptable.
关键词:
Object usage scenario,
API protocol mining,
Program temporal specification mining,
Oversampling
|
Viewed |
|
|
|
Full text
|
|
|
|
|
Abstract
|
|
|
|
|
Cited |
|
|
|
|
| |
Shared |
|
|
|
|
| |
Discussed |
|
|
|
|