1,319 research outputs found

    Lightweight Assessment of Test-Case Effectiveness using Source-Code-Quality Indicators

    No full text
    Test cases are crucial to help developers preventing the introduction of software faults. Unfortunately, not all the tests are properly designed or can effectively capture faults in production code. Some measures have been defined to assess test-case effectiveness: the most relevant one is the mutation score, which highlights the quality of a test by generating the so-called mutants, ie variations of the production code that make it faulty and that the test is supposed to identify. However, previous studies revealed that mutation analysis is extremely costly and hard to use in practice. The approaches proposed by researchers so far have not been able to provide practical gains in terms of mutation testing efficiency. This leaves the problem of efficiently assessing test-case effectiveness as still open. In this paper, we investigate a novel, orthogonal, and lightweight methodology to assess test-case effectiveness: in particular, we study the feasibility to exploit production and test-code-quality indicators to estimate the mutation score of a test case. We firstly select a set of 67 factors and study their relation with test-case effectiveness. Then, we devise a mutation score estimation model exploiting such factors and investigate its performance as well as its most relevant features. The key results of the study reveal that our estimation model only based on static features has 86% of both F-Measure and AUC-ROC. This means that we can estimate the test-case effectiveness, using source-code-quality indicators, with high accuracy and without executing the tests. As a consequence, we can provide a practical approach that is beyond the typical limitations of current mutation testing techniques

    07491 Executive Summary – Mining Programs and Processes

    Full text link
    The main goal of the seminar "Mining Programs and Processes" was to create a synergy between researchers of three communities, namely mining software repositories, data mining and machine learning, and empirical software engineering

    07491 Abstracts Collection – Mining Programs and Processes

    Full text link
    From 02.12. to 17.12.2007, the Dagstuhl Seminar 07491 ``Mining Programs and Processes'' was held in Schloss Dagstuhl~--~Leibniz Center for Informatics. During the seminar, several participants presented their current research, and ongoing work and open problems were discussed. Abstracts of the presentations given during the seminar as well as abstracts of seminar results and ideas are put together in this paper. The first section describes the seminar topics and goals in general. Links to extended abstracts or full papers are provided, if available

    How Developers Engage with Static Analysis Tools in Different Contexts

    Full text link
    Automatic static analysis tools (ASATs) are instruments that support code quality assessment by automatically detecting defects and design issues. Despite their popularity, they are characterized by (i) a high false positive rate and (ii) the low comprehensibility of the generated warnings. However, no prior studies have investigated the usage of ASATs in different development contexts (e.g., code reviews, regular development), nor how open source projects integrate ASATs into their workflows. These perspectives are paramount to improve the prioritization of the identified warnings. To shed light on the actual ASATs usage practices, in this paper we first survey 56 developers (66% from industry and 34% from open source projects) and interview 11 industrial experts leveraging ASATs in their workflow with the aim of understanding how they use ASATs in different contexts. Furthermore, to investigate how ASATs are being used in the workflows of open source projects, we manually inspect the contribution guidelines of 176 open-source systems and extract the ASATs’ configuration and build files from their corresponding GitHub repositories. Our study highlights that (i) 71% of developers do pay attention to different warning categories depending on the development context; (ii) 63% of our respondents rely on specific factors (e.g., team policies and composition) when prioritizing warnings to fix during their programming; and (iii) 66% of the projects define how to use specific ASATs, but only 37% enforce their usage for new contributions. The perceived relevance of ASATs varies between different projects and domains, which is a sign that ASATs use is still not a common practice. In conclusion, this study confirms previous findings on the unwillingness of developers to configure ASATs and it emphasizes the necessity to improve existing strategies for the selection and prioritization of ASATs warnings that are shown to developers

    DMC - Distributed and Mobile Collaboration

    No full text
    Distributed collaborations within networked enterprises and e-science have been changing radically over the last years. Enterprises and e-science environments demand increased flexibility, interconnectivity, and autonomy of involved systems as well as new coordination and interaction styles for collaboration among people. The latest trends in distributed and mobile collaboration technologies allow people to work across organizational boundaries and to collaborate among/in organizations and communities. The ability to access the organization's distributed knowledge base and to cooperate with co-workers is still a requirement, but new paradigms such as service-oriented computing and Grid computing increase pervasiveness, and mobility enable new scenarios and lead to higher complexity of systems. Independently of the business and e-science domains, individual "collaboration" has become a hot issue. Virtual communities have enjoyed a tremendous popularity recently and are starting to require functionalities for collaboration in the broadest sense similar to those in business and e-science environments. The wide-spread availability of mobile devices makes support for mobility an arising topic in this domain as well. Many questions to fully enable such scenarios are the subject of ongoing research and are attracting more attention still. For example: How to enable users to retain their ability to cooperate while not being in their home environment? What is the role of context and location in determining how cooperation can be carried out? How can resources be described semantically in a meaningful way to more efficiently exploit the limited resources in mobile environments by supporting better ways of providing data relevant to the user, enabling improved interoperability with the environment and with other mobile users, and deciding when and how to process data? How to provide support for ad-hoc cooperation in situations where the dedicated infrastructure is absent or cannot be used? How will service-oriented computing and Grid computing change collaborative software? How to support software in diverse, small devices such as PDAs and smartphones to access heterogeneous, large-scale resources, such as in the Grid, for large scale collaboration and teamwork, such as in disaster scenarios. How to provide interoperable collaboration services? Which is the shared vocabulary to be used to achieve a common understanding at the semantic level when the collaboration takes place over community or enterprise boundaries

    Architectural Extraction In Reverse Engineering by Prototyping: An experiment

    No full text
    In this workshop proposal we present a prototype approach to help the extraction of architectural information in the re-engineering process. Commonly, the re-engineering life-cycle has been defined as a succession of the following tasks: analysis of requirements, model capture (understanding the system), problem detection, problem analysis, reorganization and change propagation. We have evaluated the benefit of a prototyping approach with a focus on model capture. Although prototyping is a known approach to evaluate the application feasibility, costs, comparison and validation of choices, we focus in this paper on the aspects of prototyping that are helpful for re-engineering

    Applied algebra and number theory: essays in honour of Harald Niederreiter on the occasion of his 70th birthday

    No full text
    "Harald Niederreiter's pioneering research in the field of applied algebra and number theory has led to important and substantial breakthroughs in many areas, including finite fields and their application areas as coding theory and cryptography as well as uniform distribution and quasi-Monte Carlo methods. He is author of more than 350 research papers and 10 books"-

    Software Development Analytics (Dagstuhl Seminar 14261)

    No full text
    This report documents the program and the outcomes of Dagstuhl Seminar 14261 "Software Development Analytics". We briefly summarize the goals and format of the seminar, the results of the break out groups, and a draft of a manifesto for software analytics. The report also includes the abstracts of the talks presented at the seminar

    2. Networks, states and empires in the Baltic Region

    No full text
    Main author Kristian Gerner. Harald Runblom author of boxes on The Vikings and The Hansa.</p

    A Visual Evolution Explorer Visualize a Release History Database

    No full text
    I would like to thank all the people who have supported me and have contributed directly or indirectly to the success of this thesis. Special thanks go to Professor Harald Gall for giving me the chance to write this diploma thesis, and to Christoph Bommer who kindly supported the thesis with the ressources and data of Siemens. Many thanks also to Martin Pinzger for his advice and encouragement and for the valuable feedback for the draft of this document. Many thanks to my parents for proof reading and for their continuous support during my studies. In this thesis we present the design and implementation of a plugin for the Eclipse platform that provides facilities for visualizing the history of a software project. The plugin integrates a frontend for a Release History Database (RHDB) into the Eclipse IDE and provides interfaces for data importers and extension points for visualization modules. The plugin includes a tree map module suitable for visualizing hierarchical data such as the metrics of files contained in
    corecore