posted on 2024-07-12, 13:29authored byOlga Goloshchapova
Software measurement is a promising technique for evaluating the efficiency of a software development process and the quality of a software development product. The key component of software measurement is an application of software metrics (static code metrics) to retrieve information regarding specific characteristics of a development process and a product in order to understand their nature. This approach is especially beneficial when studying evolutionary changes in a software system, which allows for making predictions about its future states. However, software metric data alone is often non-descriptive. It needs to be summarised to be interpreted. A common solution for this problem is the usage of standard summary statistics, such as mean or standard deviation. But, a software system is an outcome of a logical rather than a random process. Hence, software metrics data does not follow normal (Gaussian) distribution, which implies that central tendency statistics are unable to capture such information effectively. In this thesis, socio-economic inequality indexes are offered as a viable alternative to existent aggregation techniques when being used to understand the nature of software. In particular, inequality indexes, like the Gini coefficient and the Theil index, have the advantage of showing how metrics distributions change as a software system evolves. Both inequality indexes are, initially, applied in a controlled environment governed by a well-understood distribution principle to understand the rules with which they capture inequality. Then, these indexes are employed to evaluate evolving software systems in order to determine their usefulness as a metrics aggregation technique. As a result, this work shows that two indexes capture inequality in a software system with separate level of granularity: the Gini coefficient offers a macro-level (architectural) analysis, whereas the Theil index is more sensitive to structural (micro-level) changes in a software system. Hence, when used in combination, the Theil index and the Gini coefficient offer a greater amount of information about system's evolution than when employed separately.
History
Thesis type
Thesis (Masters by research)
Thesis note
Thesis submitted in fulfilment of the requirements for the degree of Master of Science (IT) by Research, Swinburne University of Technology