Prediction of software execution time based on software metrics
A method to estimate the execution time of software based on static metrics is proposed in this thesis. The ability to produce an accurate estimate of execution times as early as possible in the development phase is highly desirable. For hard real-time systems, an extremely slow function may requ...
Main Author: | |
---|---|
Format: | Others |
Language: | English |
Published: |
2009
|
Online Access: | http://hdl.handle.net/2429/8990 |
id |
ndltd-UBC-oai-circle.library.ubc.ca-2429-8990 |
---|---|
record_format |
oai_dc |
spelling |
ndltd-UBC-oai-circle.library.ubc.ca-2429-89902018-01-05T17:34:29Z Prediction of software execution time based on software metrics Li, Ying N. A method to estimate the execution time of software based on static metrics is proposed in this thesis. The ability to produce an accurate estimate of execution times as early as possible in the development phase is highly desirable. For hard real-time systems, an extremely slow function may require an entire system to be redesigned. In the proposed method, principal components and linear regression modeling are used to formulate a model from a given set of representative functions. It is assumed that all functions are programmed in a structured manner. The final result is a model that can be used to generate decent first approximations of execution times. Once the model is established, it is used to predict the execution times of other test functions. The major problem encountered in the modeling is the indeterminate nature of loops in a function. The number of times a loop structure is executed is dependent on the input parameters. It is a dynamic characteristic and is impossible to measure with static metrics. Our solution is to expand the source code by the number of times the loop is expected to execute. Then, the metrics are taken from the expanded code. Extremely high correlations were observed between the actual and the predicted execution times with the exception of fast functions. It appears that the metrics used were insufficient for fast functions. This method seems to work even across different execution platforms and languages. Though, this claim is requires further investigation. Applied Science, Faculty of Electrical and Computer Engineering, Department of Graduate 2009-06-11T21:00:00Z 2009-06-11T21:00:00Z 1998 1999-05 Text Thesis/Dissertation http://hdl.handle.net/2429/8990 eng For non-commercial purposes only, such as research, private study and education. Additional conditions apply, see Terms of Use https://open.library.ubc.ca/terms_of_use. 2875609 bytes application/pdf |
collection |
NDLTD |
language |
English |
format |
Others
|
sources |
NDLTD |
description |
A method to estimate the execution time of software based on static metrics is proposed in
this thesis. The ability to produce an accurate estimate of execution times as early as
possible in the development phase is highly desirable. For hard real-time systems, an
extremely slow function may require an entire system to be redesigned. In the proposed
method, principal components and linear regression modeling are used to formulate a
model from a given set of representative functions. It is assumed that all functions are
programmed in a structured manner. The final result is a model that can be used to
generate decent first approximations of execution times. Once the model is established, it
is used to predict the execution times of other test functions. The major problem
encountered in the modeling is the indeterminate nature of loops in a function. The
number of times a loop structure is executed is dependent on the input parameters. It is a
dynamic characteristic and is impossible to measure with static metrics. Our solution is to
expand the source code by the number of times the loop is expected to execute. Then, the
metrics are taken from the expanded code. Extremely high correlations were observed
between the actual and the predicted execution times with the exception of fast functions.
It appears that the metrics used were insufficient for fast functions. This method seems to
work even across different execution platforms and languages. Though, this claim is
requires further investigation. === Applied Science, Faculty of === Electrical and Computer Engineering, Department of === Graduate |
author |
Li, Ying N. |
spellingShingle |
Li, Ying N. Prediction of software execution time based on software metrics |
author_facet |
Li, Ying N. |
author_sort |
Li, Ying N. |
title |
Prediction of software execution time based on software metrics |
title_short |
Prediction of software execution time based on software metrics |
title_full |
Prediction of software execution time based on software metrics |
title_fullStr |
Prediction of software execution time based on software metrics |
title_full_unstemmed |
Prediction of software execution time based on software metrics |
title_sort |
prediction of software execution time based on software metrics |
publishDate |
2009 |
url |
http://hdl.handle.net/2429/8990 |
work_keys_str_mv |
AT liyingn predictionofsoftwareexecutiontimebasedonsoftwaremetrics |
_version_ |
1718588142652489728 |