Conference
Source Code Analysis and Manipulation
About: Source Code Analysis and Manipulation is an academic conference. The conference publishes majorly in the area(s): Computer science & Source code. Over the lifetime, 509 publications have been published by the conference receiving 10905 citations.
Papers published on a yearly basis
Papers
1 Oct 2009
TL;DR: The paper introduces the concept of a subsuming HOM; one that is harder to kill than the first order mutants from which it is constructed, by definition, subsumed HOMs denote subtle fault combinations.
Abstract: This paper introduces a new paradigm for Mutation Testing, which we call Higher Order Mutation Testing (HOM Testing). Traditional Mutation Testing considers only first order mutants, created by the injection of a single fault. Often these first order mutants denote trivial faults that are easily killed. Higher order mutants are created by the insertion of two or more faults. The paper introduces the concept of a subsuming HOM; one that is harder to kill than the first order mutants from which it is constructed. By definition, subsuming HOMs denote subtle fault combinations. The paper reports the results of an empirical study of HOM Testing using 10 programs, including several non-trivial real-world subjects for which test suites are available.
299 citations
28 Sep 2014
TL;DR: An approach, coined as Change Scribe, which is designed to generate commit messages automatically from change sets by taking into account commit stereotype, the type of changes, as well as the impact set of the underlying changes.
Abstract: Although version control systems allow developers to describe and explain the rationale behind code changes in commit messages, the state of practice indicates that most of the time such commit messages are either very short or even empty. In fact, in a recent study of 23K+ Java projects it has been found that only 10% of the messages are descriptive and over 66% of those messages contained fewer words as compared to a typical English sentence (i.e., 15-20 words). However, accurate and complete commit messages summarizing software changes are important to support a number of development and maintenance tasks. In this paper we present an approach, coined as Change Scribe, which is designed to generate commit messages automatically from change sets. Change Scribe generates natural language commit messages by taking into account commit stereotype, the type of changes (e.g., files rename, changes done only to property files), as well as the impact set of the underlying changes. We evaluated Change Scribe in a survey involving 23 developers in which the participants analyzed automatically generated commit messages from real changes and compared them with commit messages written by the original developers of six open source systems. The results demonstrate that automatically generated messages by Change Scribe are preferred in about 62% of the cases for large commits, and about 54% for small commits.
194 citations
23 Sep 2012
TL;DR: An empirical study carried out on three Java software systems, namely Apache Ant, Xerces, and Ar-go UML, aimed at investigating to what extent refactoring activities induce faults, indicates that, while some kinds of refactorings are unlikely to be harmful, others, such as refactoring involving hierarchies, tend to induce faults very frequently.
Abstract: Refactorings are - as defined by Fowler - behavior preserving source code transformations. Their main purpose is to improve maintainability or comprehensibility, or also reduce the code footprint if needed. In principle, refactorings are defined as simple operations so that are "unlikely to go wrong" and introduce faults. In practice, refactoring activities could have their risks, as other changes. This paper reports an empirical study carried out on three Java software systems, namely Apache Ant, Xerces, and Ar-go UML, aimed at investigating to what extent refactoring activities induce faults. Specifically, we automatically detect (and then manually validate) 15,008 refactoring operations (of 52 different kinds) using an existing tool (Ref-Finder). Then, we use the SZZ algorithm to determine whether it is likely that refactorings induced a fault. Results indicate that, while some kinds of refactorings are unlikely to be harmful, others, such as refactorings involving hierarchies (e.g., pull up method), tend to induce faults very frequently. This suggests more accurate code inspection or testing activities when such specific refactorings are performed.
193 citations
1 Oct 2002
TL;DR: It is proposed that it may be possible to use a combination of tools to perform the analysis process providing that adequate means of efficiently identifying false matches is found.
Abstract: This paper describes the results of a process whereby the detection capability of 5 code replication detection tools for large software application are evaluated. Specifically this work focuses on the benefits of identification for preventative maintenance that is with the aim to remove some of the identified clones from the source code. A number of requirements are therefore identified upon which the tools are evaluated. The results of the analysis processes show that each tool has its own strengths and weaknesses and no single tool is able to identify all clones within the code. The paper proposes that it may be possible to use a combination of tools to perform the analysis process providing that adequate means of efficiently identifying false matches is found.
177 citations
15 Sep 2004
TL;DR: The goal of this work is to define and evaluate a set of metrics that can be used to assess the testability of the classes of a Java system.
Abstract: We investigate factors of the testability of object-oriented software systems. The starting point is given by a study of the literature to obtain both an initial model of testability and existing OO metrics related to testability. Subsequently, these metrics are evaluated by means of two case studies of large Java systems for which JUnit test cases exist. The goal of This work is to define and evaluate a set of metrics that can be used to assess the testability of the classes of a Java system.
175 citations
Performance Metrics
| Year | Papers |
|---|---|
| 2021 | 5 |
| 2020 | 30 |
| 2019 | 28 |
| 2018 | 27 |
| 2017 | 18 |
| 2016 | 25 |