Font Size: a A A

Software Component Utilization and Software Quality Metrics

Posted on:2014-05-20Degree:Ph.DType:Dissertation
University:University of California, IrvineCandidate:Ossher, JoelFull Text:PDF
GTID:1458390005983303Subject:Computer Science
Abstract/Summary:
The growth of the open source software movement has greatly enhanced the opportunities for reuse in software development by generating a large amount of freely available and high quality source code. The most widely accepted and promoted form of software reuse is component reuse, in which developers reuse existing binary components.;The research community has suggested that component quality is, and should be, a central deciding factor in component selection. Yet despite this consensus, little work has been done to empirically study how component quality actually relates to component reuse in the real world.;This dissertation presents a large-scale empirical analysis of the nature of the relationship between a component's utilization and its quality, as approximated by its score on various well-established software quality metrics. To that end, this dissertation introduces a novel measure of component popularity, termed component utilization, as well as an automated method for identifying components and calculating their utilization. This analysis is supported by the Sourcerer Infrastructure, a collection of Java tools for the large-scale indexing and analysis of open source software, which was augmented with component utilization and software quality metrics.;For our empirical study, we determined the popularity of 64,719 Java components, comprised of 290,450 jar files, in 56,704 open source Java projects. On this data, six component utilization metrics were calculated and related to 45 different software quality metrics. The distributions of the component utilization and software quality metrics are almost universally right skewed, exhibiting both power law and log-normal distributions.;Ultimately, using both visual inspection and correlational analysis, we were unable to identify any meaningful relationship between the component utilization metrics and the software quality metrics, after controlling for confounding factors. Given this, we strongly caution anyone looking to use software quality metrics to assess the quality of components. The quality metrics simply don't appear to give a meaningful signal regarding the true quality of the component.;Additionally, we found component utilization to be weakly correlated with component size, with the effect driven by small, low utilization components. This suggests that once a component reaches a minimal threshold of functionality, increasing size does not impact adoption.
Keywords/Search Tags:Component, Software, Utilization, Open source, Reuse
Related items