3,458 papers · page 136 of 173
Gary T. Leavens
The Java Modeling Language (JML) is widely used in academic research as a common language for formal methods tools that work with Java. JML is a design by contract language that can be used to specify detailed designs of Java programs, frameworks, and class libraries. Over twenty…
Yves Ledru, Frédéric Dadeau, Lydie du Bousquet, Sébastien Ville, Elodie Rose
This paper briefly describes the second version of the Tobias combinatorial test generator. This version improves the architecture of the tool to include filtering and test selection mechanisms. These mechanisms, associated with an efficient implementation, allow to generate and …
K. Rustan M. Leino
Software verification presents many challenges. One of these isproviding programmers with automated tool support for verification, another is providing specification support that captures common programming idioms. In this talk, I will discuss these two challenges, drawing from e…
Andreas Leitner, Manuel Oriol, Andreas Zeller, Ilinca Ciupa, Bertrand Meyer
Randomized unit test cases can be very effective in detecting defects. In practice, however, failing test cases often comprise long sequences of method calls that are tiresome to reproduce and debug. We present a combination of static slicing and delta debugging that automaticall…
Otávio Augusto Lazzarini Lemos, Sushil Krishna Bajracharya, Joel Ossher, Ricardo Santos Morla, Paulo César Masiero, Pierre Baldi, Cristina Videira Lopes
We present CodeGenie, a tool that implements a test-driven approachto search and reuse of code available on large-scale coderepositories. While using CodeGenie developers design test cases fora desired feature first, similar to Test-driven Development (TDD).However, instead of im…
Erik Linstead, Paul Rigor, Sushil Krishna Bajracharya, Cristina Videira Lopes, Pierre Baldi
We develop and apply statistical topic models to software as a means of extracting concepts from source code. The effectiveness of the technique is demonstrated on 1,555 projects from SourceForge and Apache consisting of 113,000 files and 19 million lines of code. In addition to …
Greg Little, Robert C. Miller
Keyword programming is a novel technique for reducing the need to remember details of programming language syntax and APIs, by translating a small number of keywords provided by the user into a valid expression. Prior work has demonstrated the feasibility and merit of this approa…
Hui Liu, Ge Li, Zhiyi Ma, Weizhong Shao
Software refactoring is to restructure object-oriented software to improve its quality, especially extensibility, reusability and maintainability while preserving its external behaviors. For a special software system, there are usually quite a few refactorings available at the sa…
Dapeng Liu, Andrian Marcus, Denys Poshyvanyk, Václav Rajlich
The paper presents a semi-automated technique for feature location in source code. The technique is based on combining information from two different sources: an execution trace, on one hand and the comments and identifiers from the source code, on the other hand.
David Lo, Shahar Maoz, Siau-Cheng Khoo
Specification mining is a dynamic analysis process aimed at automatically inferring suggested specifications of a program from its execution traces. We describe a novel method, framework, and tool, for mining inter-object scenario-based specifications in the form of a UML2-compli…
Rupak Majumdar, Ru-Gang Xu
We present CESE, a tool that combines exhaustive enumeration of test inputs from a structured domain with symbolic execution driven test generation. We target programs whose valid inputs are determined by some context free grammar. We abstract the concrete input syntax with symbo…
Radu Mateescu, Pascal Poizat, Gwen Salaün
Software adaptation has been proposed as a solution to mismatch between components through the generation of software pieces called adaptors. We propose a new behavioral adaptation approach for the generation of adaptor protocols. Compared to related work, it is fully automated a…
Mark M. McIntyre, Robert J. Walker
When a software system undergoes modification, a given change might need to be repeated throughout the codebase. While the change itself may not be difficult to implement, discovering other locations where this change should be applied (if any exist) can be onerous. Syntactic dif…
Tim Menzies, Oussama El-Rawas, Jairus Hihn, Martin S. Feather, Raymond J. Madachy, Barry W. Boehm
Adoption of advanced automated SE (ASE) tools would be favored if a business case could be made that these tools are more valuable than alternate methods. In theory, software prediction models can be used to make that case. In practice, this is complicated by the "local tuning" p…
Naouel Moha, Yann-Gaël Guéhéneuc
Software engineers often need to identify design defects, recurring design problems that hinder the development process, to improve and assess the quality of their systems. However, this is di±cult because of the lack of specifications and tools. We propose Decor, a method to spe…
Hiroyuki Nakagawa, Kenji Taguchi, Shinichi Honiden
Formal methods and requirements analysis are techniques for developing complex systems. However, there is little research on reconciling the requirements phase with the formal specification phase. To bridge this gap, we propose a formal specification generator based on model tran…
Leila Naslavsky, Debra J. Richardson
Model-driven development is leading to increased use of models in conjunction with source code in software testing. Model-based testing, however, introduces new challenges for testing activities, which include creation and maintenance of traceability information among test-relate…
Leila Naslavsky, Hadar Ziv, Debra J. Richardson
The adoption of model-driven development is leading to increased use of models in conjunction with source code in software testing. Model-based testing, however, introduces new challenges for testing activities, which include creation and maintenance of traceability information a…
Denys Poshyvanyk, Andrian Marcus
The proposed research defines an approach to combine Information Retrieval based analysis of the textual information embedded in software artifacts with program static and dynamic analysis techniques to support key activities of the incremental change of software, such as concept…
William W. Pugh, Nathaniel Ayewah
There are many difficulties associated with developing correct multithreaded software, and many of the activities that are simple for single threaded software are exceptionally hard for multithreaded software. One such example is constructing unit tests involving multiple threads…