{"title":"Towards a catalog format for software metrics","authors":"Eric Bouwers, A. Deursen, Joost Visser","doi":"10.1145/2593868.2593876","DOIUrl":"https://doi.org/10.1145/2593868.2593876","url":null,"abstract":"In the past two decades both the industry and the research community have proposed hundreds of metrics to track software projects, evaluate quality or estimate effort. Unfortunately, it is not always clear which metric works best in a particular context. Even worse, for some metrics there is little evidence whether the metric measures the attribute it was designed to measure. \u0000 In this paper we propose a catalog format for software metrics as a first step towards a consolidated overview of available software metrics. This format is designed to provide an overview of the status of a metric in a glance, while providing enough information to make an informed decision about the use of the metric. We envision this format to be implemented in a (semantic) wiki to ensure that relationships between metrics can be followed with ease.","PeriodicalId":103819,"journal":{"name":"Workshop on Emerging Trends in Software Metrics","volume":"29 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-06-03","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125004474","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Why are industrial agile teams using metrics and how do they use them?","authors":"Eetu Kupiainen, M. Mäntylä, Juha Itkonen","doi":"10.1145/2593868.2593873","DOIUrl":"https://doi.org/10.1145/2593868.2593873","url":null,"abstract":"Agile development methods are increasing in popularity, yet there are limited studies on the reasons and use of metrics in industrial agile development. This paper presents preliminary results from a systematic literature review. Based on our study, metrics and their use are focused to the following areas: Iteration planning, Iteration tracking, Motivating and improving, Identifying process problems, Pre-release quality, Post-release quality and Changes in processes or tools. The findings are mapped against agile principles and it seems that the use of metrics supports the principles with some deviations. Surprisingly, we find little evidence of the use of code metrics. Also, we note that there is a lot of evidence on the use of planning and tracking metrics. Finally, the use of metrics to motivate and enforce process improvements as well as applicable quality metrics can be interesting future research topics.","PeriodicalId":103819,"journal":{"name":"Workshop on Emerging Trends in Software Metrics","volume":"15 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-06-03","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130312736","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"In-depth measurement and analysis on densification power law of software execution","authors":"YunHuan Qu, Q. Zheng, Ting Liu, Jian Li, X. Guan","doi":"10.1145/2593868.2593878","DOIUrl":"https://doi.org/10.1145/2593868.2593878","url":null,"abstract":"Measuring software execution is important for many software engineering tasks. In this paper, Densification Power Law (DPL) of software execution is measured and studied as a feature of growing software complexity. Densification means that during a networked system's evolution, it usually becomes denser and the number of edges and nodes grows with a consistent super linear relation. This feature was discovered and reported in 2005. In this paper, based on a measurement of 15 open-source Java programs, we show that when software systems are modeled as a series of dynamic Call Graphs during their executions, they always obey DPL with very close correlation. Then a comparison between static Call Graph and DPL is presented, showing that DPL's properties cannot be derived statically. An explanation for DPL of software execution is given and verified. We believe the universality of DPL makes it an appropriate metric for software execution process.","PeriodicalId":103819,"journal":{"name":"Workshop on Emerging Trends in Software Metrics","volume":"5 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-06-03","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129569484","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"What can changes tell about software processes?","authors":"B. Russo, Maximilian Steff","doi":"10.1145/2593868.2593869","DOIUrl":"https://doi.org/10.1145/2593868.2593869","url":null,"abstract":"Code changes propagate. Type, frequency, size of changes typically explain and even predict impact of changes in software products. What can changes tell about software processes? In this study, we propose a novel method to render software processes by graphs of linked commits as carriers of change information. Mining histories in such commit graphs allows to exploit techniques of graph analysis and coloring that can be used to understand activities in software processes. As application of our method, we analysed colored commit graphs to investigate the presence of large architectural changes and their likelihood of occurrence in bug fixing. For this, we introduced a new measure of architectural change based on hashing and a linear-time kernel for bit-labels graphs. We applied our approach to analyse the evolution of change of Eclipse JDT and Spring Framework.","PeriodicalId":103819,"journal":{"name":"Workshop on Emerging Trends in Software Metrics","volume":"86 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-06-03","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131463669","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"\"May the fork be with you\": novel metrics to analyze collaboration on GitHub","authors":"Marco Biazzini, B. Baudry","doi":"10.1145/2593868.2593875","DOIUrl":"https://doi.org/10.1145/2593868.2593875","url":null,"abstract":"Multi-repository software projects are becoming more and more popular, thanks to web-based facilities such as Github. Code and process metrics generally assume a single repository must be analyzed, in order to measure the characteristics of a codebase. Thus they are not apt to measure how much relevant information is hosted in multiple repositories contributing to the same codebase. Nor can they feature the characteristics of such a distributed development process. We present a set of novel metrics, based on an original classification of commits, conceived to capture some interesting aspects of a multi-repository development process. We also describe an efficient way to build a data structure that allows to compute these metrics on a set of Git repositories. Interesting outcomes, obtained by applying our metrics on a large sample of projects hosted on Github, show the usefulness of our contribution.","PeriodicalId":103819,"journal":{"name":"Workshop on Emerging Trends in Software Metrics","volume":"99 2","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-06-03","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114014585","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"A security metric based on security arguments","authors":"Benjamin D. Rodes, J. Knight, K. Wasson","doi":"10.1145/2593868.2593880","DOIUrl":"https://doi.org/10.1145/2593868.2593880","url":null,"abstract":"Software security metrics that facilitate decision making at the enterprise design and operations levels are a topic of active research and debate. These metrics are desirable to support deployment decisions, upgrade decisions, and so on; however, no single metric or set of metrics is known to provide universally effective and appropriate measurements. Instead, engineers must choose, for each software system, what to measure, how and how much to measure, and must be able to justify the rationale for how these measurements are mapped to stakeholder security goals. An assurance argument for security (i.e., a security argument) provides comprehensive documentation of all evidence and rationales for justifying belief in a security claim about a software system. In this work, we motivate the need for security arguments to facilitate meaningful and comprehensive security metrics, and present a novel framework for assessing security arguments to generate and interpret security metrics.","PeriodicalId":103819,"journal":{"name":"Workshop on Emerging Trends in Software Metrics","volume":"26 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-06-03","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128993239","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Structural evolution of software: a social network perspective","authors":"Naveen N. Kulkarni, S. Bommaraju, Madhuri Dasa","doi":"10.1145/2593868.2593872","DOIUrl":"https://doi.org/10.1145/2593868.2593872","url":null,"abstract":"Structural evolution of an object oriented software is studied using a class collaboration network. The emergence of scale-free property in this network from what could be a random network suggests an inherent process of structural optimization. In the past, software evolution was studied using object oriented metrics. But, these metrics limit our understanding of structural evolution because they are object-class centric and do not take into account the complex relations that span across the structure. As an initial attempt, we apply the social network theories to uncover this hard-to-understand yet essential process of structural evolution. We discuss our findings related to the occurrences of complex relations and influential object-classes that resist the optimization. We do so by observing the revisions chosen at different stages of evolution from open-source software projects.","PeriodicalId":103819,"journal":{"name":"Workshop on Emerging Trends in Software Metrics","volume":"13 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-06-03","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114517073","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"A new metric for predicting software change using gene expression programming","authors":"R. Malhotra, Megha Khanna","doi":"10.1145/2593868.2593870","DOIUrl":"https://doi.org/10.1145/2593868.2593870","url":null,"abstract":"Software metrics help in determining the quality of a software product. They can be used for continuous inspection of a software to assist software developers in improving its quality. We can also use metrics to develop quality models which predict important quality attributes like change proneness. Determination of change prone classes in an Object-Oriented software will help software developers to focus their time and resources on the weak portions of the software. In this paper, we validate the Chidamber and Kemerer metric suite for building an efficient software quality model which predict change prone classes with the help of Gene Expression Programming. The model is developed using an open source software. We further propose a new metric which can be used for identifying change prone classes in the early phases of software development life cycle. The proposed metric is validated on another open source software and the results show that it can be effectively used by the software industry to classify change prone classes. Identification of change prone classes may help in efficient refactoring and rigorous testing of these classes in the forthcoming releases of the software product.","PeriodicalId":103819,"journal":{"name":"Workshop on Emerging Trends in Software Metrics","volume":"10 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-06-03","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130202095","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Clustering of defects in Java software systems","authors":"G. Concas, C. Monni, Matteo Orrù, R. Tonelli","doi":"10.1145/2593868.2593879","DOIUrl":"https://doi.org/10.1145/2593868.2593879","url":null,"abstract":"In this paper we present a case study about the clustering of maintenance activities applied on large software systems, from the complex networks perspective. We analyze several releases of two large Open Source Java software systems, using data extracted from Software Configuration Management systems and from Issue Tracking systems (ITS). We find that Java files affected by maintenance activity are likely to be connected with each other, forming interconnected clusters inside the software network associated to the software system. This means that Java files interested by the maintenance activities requested on ITS are likely to be connected each other through dependencies at the source code level. The information carried by the clusters of Java files may be used to improve strategies for large maintenance operations. Since the tendency to form clusters can vary across different systems, such analysis can also be a useful indicator of the impact of defects on source code files in different software systems.","PeriodicalId":103819,"journal":{"name":"Workshop on Emerging Trends in Software Metrics","volume":"9 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-06-03","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130783422","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Using fine-grained code change metrics to simulate software evolution","authors":"Zhongpeng Lin, E. J. Whitehead","doi":"10.1145/2593868.2593871","DOIUrl":"https://doi.org/10.1145/2593868.2593871","url":null,"abstract":"Software evolution simulation can provide support for making informed design decisions. In this research, we explored the distributions of fine-grained code change (FGCC) metrics and used them to build a simple simulator to evolve an existing source code file. The simulator generates synthetic changes to modify the source code analogous to how the code evolves in actual settings. By comparing the simulated evolution with the actual one, we found that the number and types of synthetic changes have no significant difference from those of the actual changes. Furthermore, the simulator is able to produce syntactically correct Java code, allowing us to analyze its static code metrics. The analysis shows that the distributions of method and field counts both have short tails at their left side, making it helpful in estimating the lower bounds for software growth. However, the actual method count falls below the distribution range produced by the simulation runs, indicating more sophisticated simulators are needed.","PeriodicalId":103819,"journal":{"name":"Workshop on Emerging Trends in Software Metrics","volume":"51 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-06-03","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"133274254","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}