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...

Full description

Bibliographic Details
Main Author: Li, Ying N.
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