Performance is an aspect of software quality that is often not considered at early stages of software design. Common approaches to performance analysis include utilizing profiling tools after the software has been developed to find bottlenecks and executing simulation models that are either manually constructed or derived from UML design diagrams. Many projects attempt to correct performance issues by adding more powerful hardware instead of attacking the root cause. Software metrics have been used to predict many aspects of software quality such as maintainability and fault-tolerance by correlation and regression analysis. Metrics proposed by Chidamber and Kemerer, also known as the CK metric suite, have been studied extensively in software quality model analyses. These studies examined maintainability, fault tolerance, error proneness, and scalability of the software as it evolved through time. Correlations were made between metrics and the likely quality models they represented. Other metrics such as Cyclomatic Complexity by McCabe and class couplings by Martin have also been used in quality predictions. No research has been conducted to analyze relationship between performance and metrics. The goal of this research was to construct a decision tree that used software metrics to forecast performance characteristics. The relationship between metrics and performance was derived by correlation between static code metrics and three runtime variables: number of objects, method call frequency, and average method call lengths on selected software benchmarks. The decision tree was constructed using the C4.5 algorithm implemented in the WEKA software. Pearson correlation coefficients were obtained for the combined datasets from all benchmarks. The decision trees and Pearson statistics showed that weighted methods per class (WMC), total lines of code (TLOC), and coupling between objects (CBO) have significant correlation with software performance. WMC showed positive correlation with number of objects and calls. CBO correlated positively with average method call lengths and negatively with number of objects. TLOC correlated positively with number of calls.
|Advisor:||Mitropoulos, Francisco J.|
|Commitee:||Laszlo, Michael J., Mukherjee, Sumitra|
|School:||Nova Southeastern University|
|Department:||Computer Science (CISC, CISD)|
|School Location:||United States -- Florida|
|Source:||DAI-B 73/07(E), Dissertation Abstracts International|
|Keywords:||Dynamic, Quality metrics, Software performance, Software quality, Static|
Copyright in each Dissertation and Thesis is retained by the author. All Rights Reserved
The supplemental file or files you are about to download were provided to ProQuest by the author as part of a
dissertation or thesis. The supplemental files are provided "AS IS" without warranty. ProQuest is not responsible for the
content, format or impact on the supplemental file(s) on our system. in some cases, the file type may be unknown or
may be a .exe file. We recommend caution as you open such files.
Copyright of the original materials contained in the supplemental file is retained by the author and your access to the
supplemental files is subject to the ProQuest Terms and Conditions of use.
Depending on the size of the file(s) you are downloading, the system may take some time to download them. Please be