Kurzfassung
|
A main issue of using performance models, is the effort it takes to keep them updated. They must stay in synchronization with the actual system architecture and source code, in order to produce meaningful results. To address this shortcoming, there exist techniques, which extract the structure of a system and derive a performance model from existing artifacts, for example, from source code. Existing approaches estimate performance model parameters like loop iterations, branch transitions, resource demands and external call arguments for a whole system at once. We present an approach which estimates parameters of such performance models iteratively. We use monitoring data to estimate performance model parameters which are affected by an iterative source code change. We use a decision tree to build a predictive model for branch transitions and regression analysis to build a predictive model for loop iterations and resource demands. These predictive models can include dependency relations to service call arguments. To estimate resource demands iteratively, we must know all resource demands that are executed in a system. We monitor only a part of a system during one iteration and must estimate which resource demands are executed, but not monitored. We use the previously estimated performance model parameters and the control flow information of services to traverse the control flow in order to detect non-monitored resource demands.
|