ICSE Best Papers CollectingICSE, the International Conference on Software Engineering, is the premier software engineering conference, providing a forum for researchers, practitioners and educators to present and discuss the most recent innovations, research, experiences, trends and concerns in the field of Software engineering.
Our technique overcomes significant challenges compared to test-based repair techniques, including the ability to repair previously undiscovered bugs, bugs that are difficult to expose via testing, and repeated semantic errors
Evaluation Results Table 3 shows the coverage achieved for each function with a timeout of 5 minutes, 15 minutes and 30 minutes respectively, where column G is the result of our greedy algorithm and R is the always random testing strategy
If a developer analyzes the violation of a design pattern such as Data Access Object and concludes that this type of symptom is irrelevant for identifying a design problem, he is less likely to consider a violation of a design pattern in the elements he analyzes
Agile adoption is typically understood as a one-off organizational process involving a staged selection of agile development practices. This view of agility fails to explain the differences in the pace and effectiveness of individual teams transitioning to agile development. Base...
For Java software engineers prioritizing on robustness, we list tactics to obtain more easy to analyze reflection code, and for static analysis tool builders we provide a list of opportunities to have significant impact on real Java code
Contributions: In this paper, we propose a technique and a tool that utilizes Lambda expressions to enable the refactoring of Type-2 and Type-3 clones having behavioral differences that cannot be parameterized with regular parameters
The application of information retrieval techniques to search tasks in software engineering is made difficult by the lexical gap between search queries, usually expressed in natural language (e.g. English), and retrieved documents, usually expressed in code (e.g. programming lang...
Our technique causes dynamic symbolic execution to abort tests that lead to verified executions, pruning parts of the search space, and to prioritize tests that are more likely to detect an assertion violation
We have proposed the notion of a crash path, which reflects the control flow from the allocation of a selected object of interest to the crashing statement, and argue that this often provides useful information for debugging such problems
We have proposed an alternative, lazy semantics for metric temporal logic, whose properties allow for a parametric decomposition of any MTL formula into an equivalent MTL formula with bounded time intervals