• DocumentCode
    650715
  • Title

    How Does Context Affect the Distribution of Software Maintainability Metrics?

  • Author

    Feng Zhang ; Mockus, Audris ; Ying Zou ; Khomh, Foutse ; Hassan, Ahmed E.

  • Author_Institution
    Sch. of Comput., Queen´s Univ., Kingston, ON, Canada
  • fYear
    2013
  • fDate
    22-28 Sept. 2013
  • Firstpage
    350
  • Lastpage
    359
  • Abstract
    Software metrics have many uses, e.g., defect prediction, effort estimation, and benchmarking an organization against peers and industry standards. In all these cases, metrics may depend on the context, such as the programming language. Here we aim to investigate if the distributions of commonly used metrics do, in fact, vary with six context factors: application domain, programming language, age, lifespan, the number of changes, and the number of downloads. For this preliminary study we select 320 nontrivial software systems from Source Forge. These software systems are randomly sampled from nine popular application domains of Source Forge. We calculate 39 metrics commonly used to assess software maintainability for each software system and use Kruskal Wallis test and Mann-Whitney U test to determine if there are significant differences among the distributions with respect to each of the six context factors. We use Cliff´s delta to measure the magnitude of the differences and find that all six context factors affect the distribution of 20 metrics and the programming language factor affects 35 metrics. We also briefly discuss how each context factor may affect the distribution of metric values. We expect our results to help software benchmarking and other software engineering methods that rely on these commonly used metrics to be tailored to a particular context.
  • Keywords
    program testing; programming languages; software maintenance; software metrics; Cliff delta; Mann-Whitney U test; context factor; defect prediction; effort estimation; industry standards; nontrivial software systems; programming language factor; software engineering methods; software maintainability assessment; software maintainability metric distribution; source forge; Benchmark testing; Complexity theory; Computer languages; Context; Measurement; Software systems; benchmark; context; context factor; large scale; metrics; mining software repositories; sampling; software maintainability; static metrics;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Software Maintenance (ICSM), 2013 29th IEEE International Conference on
  • Conference_Location
    Eindhoven
  • ISSN
    1063-6773
  • Type

    conf

  • DOI
    10.1109/ICSM.2013.46
  • Filename
    6676906