{"title":"Debsources: live and historical views on macro-level software evolution","authors":"Matthieu Caneill, Stefano Zacchiroli","doi":"10.1145/2652524.2652528","DOIUrl":"https://doi.org/10.1145/2652524.2652528","url":null,"abstract":"Context. Software evolution has been an active field of research in recent years, but studies on macro-level software evolution---i.e., on the evolution of large software collections over many years---are scarce, despite the increasing popularity of intermediate vendors as a way to deliver software to final users.\u0000 Goal. We want to ease the study of both day-by-day and long-term Free and Open Source Software (FOSS) evolution trends at the macro-level, focusing on the Debian distribution as a proxy of relevant FOSS projects.\u0000 Method. We have built Debsources, a software platform to gather, search, and publish on the Web all the source code of Debian and measures about it. We have set up a public Debsources instance at http://sources.debian.net, integrated it into the Debian infrastructure to receive live updates of new package releases, and written plugins to compute popular source code metrics. We have injected all current and historical Debian releases into it.\u0000 Results. The obtained dataset and Web portal provide both long term-views over the past 20 years of FOSS evolution and live insights on what is happening at sub-day granularity. By writing simple plugins (~100 lines of Python each) and adding them to our Debsources instance we have been able to easily replicate and extend past empirical analyses on metrics as diverse as lines of code, number of packages, and rate of change---and make them perennial. We have obtained slightly different results than our reference study, but confirmed the general trends and updated them in light of 7 extra years of evolution history.\u0000 Conclusions. Debsources is a flexible platform to monitor large FOSS collections over long periods of time. Its main instance and dataset are valuable resources for scholars interested in macro-level software evolution.","PeriodicalId":124452,"journal":{"name":"International Symposium on Empirical Software Engineering and Measurement","volume":"88 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-09-18","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126474822","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":"Bridging the gap: SE technology transfer into practice: study design and preliminary results","authors":"Philipp Diebold, A. Vetrò","doi":"10.1145/2652524.2652552","DOIUrl":"https://doi.org/10.1145/2652524.2652552","url":null,"abstract":"Background: Particularly during and after research projects, technology transfer into practice plays an important role for academia to get technologies into use and for industry to improve their development. Objective: Our goal was to gain more and current knowledge about how technology transfer from software engineering (SE) research into industrial practice is accomplished best and how to measure the effectiveness of this transfer. Method: We conducted a study in the context of two German research projects, covering many different organizations from industry and academia. Results: This paper presents the design of the study and the survey performed. After introducing the concept of technology transfer we used and adapted, we present preliminary results. Conclusions: We observed that traditional means such as meetings or workshops are still the most widely used mediums for technology transfer in SE. We also discovered that, even though the duration of transfer depends on the object being transferred, the average duration is three years, which is far less than previously published (~18 years).","PeriodicalId":124452,"journal":{"name":"International Symposium on Empirical Software Engineering and Measurement","volume":"20 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-09-18","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122278432","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":"Impact of developer reputation on code review outcomes in OSS projects: an empirical investigation","authors":"Amiangshu Bosu, Jeffrey C. Carver","doi":"10.1145/2652524.2652544","DOIUrl":"https://doi.org/10.1145/2652524.2652544","url":null,"abstract":"<u>Context:</u> Gaining an identity and building a good reputation are important motivations for Open Source Software (OSS) developers. It is unclear whether these motivations have any actual impact on OSS project success. <u>Goal:</u> To identify how an OSS developer's reputation affects the outcome of his/her code review requests. <u>Method:</u> We conducted a social network analysis (SNA) of the code review data from eight popular OSS projects. Working on the assumption that core developers have better reputation than peripheral developers, we developed an approach, Core Identification using K-means (CIK) to divide the OSS developers into core and periphery groups based on six SNA centrality measures. We then compared the outcome of the code review process for members of the two groups. <u>Results:</u> The results suggest that the core developers receive quicker first feedback on their review request, complete the review process in shorter time, and are more likely to have their code changes accepted into the project codebase. Peripheral developers may have to wait 2 - 19 times (or 12 - 96 hours) longer than core developers for the review process of their code to complete. <u>Conclusion:</u> We recommend that projects allocate resources or create tool support to triage the code review requests to motivate prospective developers through quick feedback.","PeriodicalId":124452,"journal":{"name":"International Symposium on Empirical Software Engineering and Measurement","volume":"19 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-09-18","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116127628","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}
Derek Reimanis, C. Izurieta, R. Luhr, Lu Xiao, Yuanfang Cai, Gabe Rudy
{"title":"A replication case study to measure the architectural quality of a commercial system","authors":"Derek Reimanis, C. Izurieta, R. Luhr, Lu Xiao, Yuanfang Cai, Gabe Rudy","doi":"10.1145/2652524.2652581","DOIUrl":"https://doi.org/10.1145/2652524.2652581","url":null,"abstract":"Context: Long-term software management decisions are directly impacted by the quality of the software's architecture. Goal: Herein, we present a replication case study where structural information about a commercial software system is used in conjunction with bug-related change frequencies to measure and predict architecture quality. Method: Metrics describing history and structure were gathered and then correlated with future bug-related issues; the worst of which were visualized and presented to developers. Results: We identified dependencies between components that change together even though they belong to different architectural modules, and as a consequence are more prone to bugs. We validated these dependencies by presenting our results back to the developers. The developers did not identify any of these dependencies as unexpected, but rather architectural necessities. Conclusions: This replication study adds to the knowledge base of CLIO (a tool that detects architectural degradations) by incorporating a new programming language (C++) and by externally replicating a previous case study on a separate commercial code base. Additionally, we provide lessons learned and suggestions for future applications of CLIO.","PeriodicalId":124452,"journal":{"name":"International Symposium on Empirical Software Engineering and Measurement","volume":"23 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-09-18","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116719320","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}
A. Gupta, Thomas Zimmermann, C. Bird, Nachiappan Nagappan, Thirumalesh Bhat, S. Emran
{"title":"Mining energy traces to aid in software development: an empirical case study","authors":"A. Gupta, Thomas Zimmermann, C. Bird, Nachiappan Nagappan, Thirumalesh Bhat, S. Emran","doi":"10.1145/2652524.2652578","DOIUrl":"https://doi.org/10.1145/2652524.2652578","url":null,"abstract":"Context: With the advent of increased computing on mobile devices such as phones and tablets, it has become crucial to pay attention to the energy consumption of mobile applications.\u0000 Goal: The software engineering field is now faced with a whole new spectrum of energy-related challenges, ranging from power budgeting to testing and debugging the energy consumption, for which exists only limited tool support. The goal of this work is to provide techniques to engineers to analyze power consumption and detect anomalies.\u0000 Method: In this paper, we present our work on analyzing energy patterns for the Windows Phone platform. We first describe the data that is collected for testing (power traces and execution logs). We then present several approaches for describing power consumption and detecting anomalous energy patterns and potential energy defects. Finally we show prediction models based on usage of individual modules that can estimate the overall energy consumption with high accuracy.\u0000 Results: The techniques in this paper were successful in modeling and estimating power consumption and in detecting anomalies.\u0000 Conclusions: The techniques presented in the paper allow assessing the individual impact of modules on the overall energy consumption and support overall energy planning.","PeriodicalId":124452,"journal":{"name":"International Symposium on Empirical Software Engineering and Measurement","volume":"25 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-09-18","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128086482","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":"Comparing and contrasting model-driven engineering at three large companies","authors":"Håkan Burden, Rogardt Heldal, J. Whittle","doi":"10.1145/2652524.2652527","DOIUrl":"https://doi.org/10.1145/2652524.2652527","url":null,"abstract":"Context: Hutchinson et al. conducted an interview-based study of how model-driven engineering, MDE, is practiced in 17 companies. Their results include that successful MDE companies develop domain-specific languages; are motivated by a clear business case; and are committed at all levels of the organization. Goal: Whilst the results are useful, the study is a very broad one, with one or two interviewees per company. This paper supplements Hutchinson's study by focusing on three large companies that are applying MDE and undergoing a parallel transition to agile methods. Method: Formal data collection strategies -- 25 semi-structured interviews, observations and progress meetings -- were combined with informal interaction. The data was analysed both inductively for new insights and deductively for comparison with the results of Hutchinson et al. Results: Our findings show how MDE can include domain experts in software development and how agile development and MDE can coexist. In general our results validate the findings of Hutchinson et al. There are two areas where our results differ -- the engineers' sense of control and the appropriateness of their skills and training. Conclusions: Using a combination of data collection strategies and analysis techniques our study casts new light on earlier research as well as contributes with novel insights regarding the adoption of MDE.","PeriodicalId":124452,"journal":{"name":"International Symposium on Empirical Software Engineering and Measurement","volume":"30 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-09-18","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132581524","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":"Evaluating strategies for study selection in systematic literature studies","authors":"N. Ali, K. Petersen","doi":"10.1145/2652524.2652557","DOIUrl":"https://doi.org/10.1145/2652524.2652557","url":null,"abstract":"Context: The study selection process is critical to improve the reliability of secondary studies. Goal: To evaluate the selection strategies commonly employed in secondary studies in software engineering. Method: Building on these strategies, a study selection process was formulated and evaluated in a systematic review. Results: The selection process used a more inclusive strategy than the one typically used in secondary studies, which led to additional relevant articles. Conclusions: The results indicates that a good-enough sample could be obtained by following a less inclusive but more efficient strategy, if the articles identified as relevant for the study are a representative sample of the population, and there is a homogeneity of results and quality of the articles.","PeriodicalId":124452,"journal":{"name":"International Symposium on Empirical Software Engineering and Measurement","volume":"51 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-09-18","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115717753","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}
D. Port, T. Bui, J. Wilf, Y. Kobayashi, Yuko Miyamoto
{"title":"What we have learned about the value of software assurance","authors":"D. Port, T. Bui, J. Wilf, Y. Kobayashi, Yuko Miyamoto","doi":"10.1145/2652524.2652591","DOIUrl":"https://doi.org/10.1145/2652524.2652591","url":null,"abstract":"Context: There is a pervasive feeling that somehow software assurance is important. For example, national space agencies, such as the National Aeronautics and Space Administration (NASA) and the Japan Aerospace Exploration Agency (JAXA), require assurance for their critical software systems. Their assurance effort goes beyond testing, and includes activities such as process compliance checks, artifact audits, and traceability validation. These activities can be costly and their benefits, particularly in managing risk, are poorly understood. This inevitably leads to tough questions concerning value such as \"Is assurance worth doing?\" and \"How much assurance do we actually need?\"\u0000 Goal: For many years the software assurance community has been struggling with how to rationalize investing in software assurance. Numerous value models have been suggested, but these have not been able to explicitly connect assurance activities to their expected benefits, making them difficult to use for value assessment. As a consequence, assurance managers are ill equipped to plan and justify their budgets, frequently finding that assurance is first on the chopping block when cuts are made. We discuss some common value propositions and how why they are not operationally useful within our assurance practice.\u0000 Method: From our ongoing empirical study of assurance practice at NASA and JAXA, we are led to a fundamental assurance value proposition that implies an operational and justifiable proposition of assurance value. We depart from contemporary views that focus on defect-centric factors such as defect avoidance or early defect mitigation. Rather, we have observed that assurance value stems from enabling more confident quality-critical decision-making.\u0000 Results: From this new viewpoint value can be tangibly measured as a reduction in the risk of making a bad decision due to uncertainty in quality factors. This has some surprising and consequential implications. For example, from this viewpoint, assurance value does not depend on the actual number of defects found; instead it depends on the degree of coverage an assurance activity provides, regardless if defects are found.\u0000 Conclusions: By exploring what we have learned about assurance value we better understand and from an industry standpoint it is an important issue to address.","PeriodicalId":124452,"journal":{"name":"International Symposium on Empirical Software Engineering and Measurement","volume":"3 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-09-18","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114182129","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":"An UML-based approach to software development cost estimation","authors":"Antonio Girasella, Filippo Pagin","doi":"10.1145/2652524.2652580","DOIUrl":"https://doi.org/10.1145/2652524.2652580","url":null,"abstract":"CONTEXT: Resource and time estimation is a critical activity in software projects. In literature, various techniques have been proposed, but it's often difficult to perform them, because of data scarcity in the early stages of a project. We studied this issue in the context of a business unit that develops automotive infotainment systems.\u0000 GOAL: The purpose of this paper is finding a system to estimate effort and duration for complex embedded software projects, using UML design and a hierarchical \"divide and conquer\" paradigm.\u0000 METHOD: At first, we analyzed and compared estimation methodologies that are available in literature. We found in COCOMO II the model which fitted more our circumstances. By comparing the theoretical estimate model with the actual production process, we produced an UML profile, still based on COCOMO II rationale, but extended and modified, in order to adhere better to our case. The resulting model comes out from a flexible approach, which allows to evaluate effort more thoroughly as we have more detailed information on the estimated project. After model design, we implemented a tool to extract data from the selected UML designer software, and transfer them to a precompiled Excel workbook, conceived specifically for the calculation of project costs using COCOMO II formulae.\u0000 RESULTS: The solution has been validated against a completed project. The results are fair in terms of total effort estimate, whereas duration estimate diverges significantly from the actual value. This suggests that the model of effort distribution over time needs to be improved.\u0000 CONCLUSIONS: The results suggest that the proposed approach could be a valid option for algorithmic estimation in contexts like the one indicated, at least for total effort assessment. However, the presented solution is far from mature. In the future works, several enhancements could be added to both the model and the tool.","PeriodicalId":124452,"journal":{"name":"International Symposium on Empirical Software Engineering and Measurement","volume":"63 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-09-18","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124905348","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}
Fabian Fagerholm, Alejandro Sánchez Guinea, Jürgen Münch, Jay Borenstein
{"title":"The role of mentoring and project characteristics for onboarding in open source software projects","authors":"Fabian Fagerholm, Alejandro Sánchez Guinea, Jürgen Münch, Jay Borenstein","doi":"10.1145/2652524.2652540","DOIUrl":"https://doi.org/10.1145/2652524.2652540","url":null,"abstract":"Context: Onboarding is a process that helps newcomers become integrated members of their organisation. Successful onboarding programs can result in increased performance in conventional organisations, but there is little guidance on how to onboard new developers in Open Source Software (OSS) projects. Goal: In this study, we examine how mentoring and project characteristics influence the effectiveness and efficiency of the onboarding process. We study a collaboration program involving a total of nine Open Source Software projects and more than 120 students from different universities around the world as part of Facebook's Education Modernization Program. Method: We use quantitative measurements of source code repositories, issue tracking systems, and discussion fora to examine how newcomers become contributing members of their OSS projects. Results: We found that developers receiving deliberate onboarding support through mentoring were more active at an earlier stage than developers entering projects through conventional means. Also, we found that project size and lifetime influenced onboarding. Conclusion: Empirical decision support can contribute to a more effective onboarding process in OSS projects. Mentor support in critical stages can accelerate the process, but project maturity is also a significant factor that increases the effect of onboarding.","PeriodicalId":124452,"journal":{"name":"International Symposium on Empirical Software Engineering and Measurement","volume":"101 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-09-18","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124648524","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}