Using Genetic Search for Reverse Engineering of Parametric Behavior Models for Performance Prediction

被引:33
作者
Krogmann, Klaus [1 ]
Kuperberg, Michael [1 ]
Reussner, Ralf [1 ]
机构
[1] Karlsruhe Inst Technol, Inst Program Struct & Data Org, D-76131 Karlsruhe, Germany
关键词
Genetic search; genetic programming; reverse engineering; performance prediction; bytecode benchmarking;
D O I
10.1109/TSE.2010.69
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
In component-based software engineering, existing components are often reused in new applications. Correspondingly, the response time of an entire component-based application can be predicted from the execution durations of individual component services. These execution durations depend on the runtime behavior of a component which itself is influenced by three factors: the execution platform, the usage profile, and the component wiring. To cover all relevant combinations of these influencing factors, conventional prediction of response times requires repeated deployment and measurements of component services for all such combinations, incurring a substantial effort. This paper presents a novel comprehensive approach for reverse engineering and performance prediction of components. In it, genetic programming is utilized for reconstructing a behavior model from monitoring data, runtime bytecode counts, and static bytecode analysis. The resulting behavior model is parameterized over all three performance-influencing factors, which are specified separately. This results in significantly fewer measurements: The behavior model is reconstructed only once per component service, and one application-independent bytecode benchmark run is sufficient to characterize an execution platform. To predict the execution durations for a concrete platform, our approach combines the behavior model with platform-specific benchmarking results. We validate our approach by predicting the performance of a file sharing application.
引用
收藏
页码:865 / 877
页数:13
相关论文
共 38 条
  • [1] Experiments in Cost Analysis of Java']Java Bytecode
    Albert, E.
    Arenas, P.
    Genaim, S.
    Puebla, G.
    Zanardini, D.
    [J]. ELECTRONIC NOTES IN THEORETICAL COMPUTER SCIENCE, 2007, 190 (01) : 67 - 83
  • [2] [Anonymous], 1993, GENETIC PROGRAMMING
  • [3] Becker S., 2006, P WORKSH COMP OR PRO
  • [4] The Palladio component model for model-driven performance prediction
    Becker, Steffen
    Koziolek, Heiko
    Reussner, Ralf
    [J]. JOURNAL OF SYSTEMS AND SOFTWARE, 2009, 82 (01) : 3 - 22
  • [5] BERTOLINO A, 2004, P CBSE 2004, P233
  • [6] BINDER W, 2006, P 5 INT C GEN PROGR, P171
  • [7] Using Bytecode Instruction Counting as Portable CPU Consumption Metric
    Binder, Walter
    Hulaas, Jarle
    [J]. ELECTRONIC NOTES IN THEORETICAL COMPUTER SCIENCE, 2006, 153 (02) : 57 - 77
  • [8] BONDAREV E, 2005, P 31 EUROMICRO C SOF
  • [9] Toward the reverse engineering of UML sequence diagrams for distributed Java']Java software
    Briand, Lionel C.
    Labiche, Yvan
    Leduc, Johanne
    [J]. IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2006, 32 (09) : 642 - 663
  • [10] BRUNETON E, 2002, ASM CODE MANIPULATIO