280,349 research outputs found

    The Co-Evolution of Test Maintenance and Code Maintenance through the lens of Fine-Grained Semantic Changes

    Full text link
    Automatic testing is a widely adopted technique for improving software quality. Software developers add, remove and update test methods and test classes as part of the software development process as well as during the evolution phase, following the initial release. In this work we conduct a large scale study of 61 popular open source projects and report the relationships we have established between test maintenance, production code maintenance, and semantic changes (e.g, statement added, method removed, etc.). performed in developers' commits. We build predictive models, and show that the number of tests in a software project can be well predicted by employing code maintenance profiles (i.e., how many commits were performed in each of the maintenance activities: corrective, perfective, adaptive). Our findings also reveal that more often than not, developers perform code fixes without performing complementary test maintenance in the same commit (e.g., update an existing test or add a new one). When developers do perform test maintenance, it is likely to be affected by the semantic changes they perform as part of their commit. Our work is based on studying 61 popular open source projects, comprised of over 240,000 commits consisting of over 16,000,000 semantic change type instances, performed by over 4,000 software engineers.Comment: postprint, ICSME 201

    Extracting Build Changes with BUILDDIFF

    Full text link
    Build systems are an essential part of modern software engineering projects. As software projects change continuously, it is crucial to understand how the build system changes because neglecting its maintenance can lead to expensive build breakage. Recent studies have investigated the (co-)evolution of build configurations and reasons for build breakage, but they did this only on a coarse grained level. In this paper, we present BUILDDIFF, an approach to extract detailed build changes from MAVEN build files and classify them into 95 change types. In a manual evaluation of 400 build changing commits, we show that BUILDDIFF can extract and classify build changes with an average precision and recall of 0.96 and 0.98, respectively. We then present two studies using the build changes extracted from 30 open source Java projects to study the frequency and time of build changes. The results show that the top 10 most frequent change types account for 73% of the build changes. Among them, changes to version numbers and changes to dependencies of the projects occur most frequently. Furthermore, our results show that build changes occur frequently around releases. With these results, we provide the basis for further research, such as for analyzing the (co-)evolution of build files with other artifacts or improving effort estimation approaches. Furthermore, our detailed change information enables improvements of refactoring approaches for build configurations and improvements of models to identify error-prone build files.Comment: Accepted at the International Conference of Mining Software Repositories (MSR), 201

    Arctic air pollution: Challenges and opportunities for the next decade

    Get PDF
    The Arctic is a sentinel of global change. This region is influenced by multiple physical and socio-economic drivers and feedbacks, impacting both the natural and human environment. Air pollution is one such driver that impacts Arctic climate change, ecosystems and health but significant uncertainties still surround quantification of these effects. Arctic air pollution includes harmful trace gases (e.g. tropospheric ozone) and particles (e.g. black carbon, sulphate) and toxic substances (e.g. polycyclic aromatic hydrocarbons) that can be transported to the Arctic from emission sources located far outside the region, or emitted within the Arctic from activities including shipping, power production, and other industrial activities. This paper qualitatively summarizes the complex science issues motivating the creation of a new international initiative, PACES (air Pollution in the Arctic: Climate, Environment and Societies). Approaches for coordinated, international and interdisciplinary research on this topic are described with the goal to improve predictive capability via new understanding about sources, processes, feedbacks and impacts of Arctic air pollution. Overarching research actions are outlined, in which we describe our recommendations for 1) the development of trans-disciplinary approaches combining social and economic research with investigation of the chemical and physical aspects of Arctic air pollution; 2) increasing the quality and quantity of observations in the Arctic using long-term monitoring and intensive field studies, both at the surface and throughout the troposphere; and 3) developing improved predictive capability across a range of spatial and temporal scales
    • …
    corecore