Mining Open Source Component Behavior and Performance for Reuse Evaluation
Ji Tao Wu, Yong Po Liu, Xiao Xia Jia, Chao Liu · 2008
Reusing Open Source Component (OSC) has become more and more popular in developing in-house applications. Before integrating an OSC into project, the component has to be evaluated according to the project. The lack of effective documentation, however, makes it hard to evaluate OSC. Behavior and performance are always the concentrated ones among the proposed criteria. But how to get access to the behavior (especially the runtime behavior) and performance for OSC is still less touched. This paper proposes the usage and dependency model to help understand OSC from the interactions with its context. The usage and dependency model extends the traditional usage model with the context dependency and backward dependency that are widely observed in open source project. Based on the usage model, this paper proposes three metrics to measure the complexity of the interactions. To help evaluate the performance, an unbiased performance model is proposed to measure by both the time and memory performance. The time performance in this paper can be measured according to usage and component state. To extract the usage and dependency model, the invocation matrix and the mining algorithm are proposed. The framework component in open source project Junit 4.4 is selected to validate this research. The case study reports the models and metrics on the component and provides direct evidence on how difficult to reuse it.