Software Engineering and Methodology (TOSEM)


Search Issue
enter search term and/or author name


ACM Transactions on Software Engineering and Methodology (TOSEM) - Testing, debugging, and error handling, formal methods, lifecycle concerns, evolution and maintenance, Volume 22 Issue 4, October 2013

Test-and-adapt: An approach for improving service interchangeability
Giovanni Denaro, Mauro Pezzè, Davide Tosi
Article No.: 28
DOI: 10.1145/2522920.2522921

Service-oriented applications do not fully benefit from standard APIs yet, and many applications fail to use interchangeably all the services that implement a standard service API. This article presents an approach to develop adaptation strategies...

A methodology for testing CPU emulators
Lorenzo Martignoni, Roberto Paleari, Alessandro Reina, Giampaolo Fresi Roglia, Danilo Bruschi
Article No.: 29
DOI: 10.1145/2522920.2522922

A CPU emulator is a software system that simulates a hardware CPU. Emulators are widely used by computer scientists for various kind of activities (e.g., debugging, profiling, and malware analysis). Although no theoretical limitation prevents...

Exception handlers for healing component-based systems
Hervé Chang, Leonardo Mariani, Mauro Pezzè
Article No.: 30
DOI: 10.1145/2522920.2522923

To design effective exception handlers, developers must predict at design time the exceptional events that may occur at runtime, and must implement the corresponding handlers on the basis of their predictions. Designing exception handlers for...

A theoretical analysis of the risk evaluation formulas for spectrum-based fault localization
Xiaoyuan Xie, Tsong Yueh Chen, Fei-Ching Kuo, Baowen Xu
Article No.: 31
DOI: 10.1145/2522920.2522924

An important research area of Spectrum-Based Fault Localization (SBFL) is the effectiveness of risk evaluation formulas. Most previous studies have adopted an empirical approach, which can hardly be considered as sufficiently comprehensive because...

Path exploration based on symbolic output
Dawei Qi, Hoang D. T. Nguyen, Abhik Roychoudhury
Article No.: 32
DOI: 10.1145/2522920.2522925

Efficient program path exploration is important for many software engineering activities such as testing, debugging, and verification. However, enumerating all paths of a program is prohibitively expensive. In this article, we develop a...

Path- and index-sensitive string analysis based on monadic second-order logic
Takaaki Tateishi, Marco Pistoia, Omer Tripp
Article No.: 33
DOI: 10.1145/2522920.2522926

We propose a novel technique for statically verifying the strings generated by a program. The verification is conducted by encoding the program in Monadic Second-order Logic (M2L). We use M2L to describe constraints among program variables and to...

On software component co-installability
Jérôme Vouillon, Roberto Di Cosmo
Article No.: 34
DOI: 10.1145/2522920.2522927

Modern software systems are built by composing components drawn from large repositories, whose size and complexity is increasing at a very fast pace. A fundamental challenge for the maintainability and the scalability of such software...

Software effort estimation as a multiobjective learning problem
Leandro L. Minku, Xin Yao
Article No.: 35
DOI: 10.1145/2522920.2522928

Ensembles of learning machines are promising for software effort estimation (SEE), but need to be tailored for this task to have their potential exploited. A key issue when creating ensembles is to produce diverse and accurate base models....

A web-centred approach to end-user software engineering
David Lizcano, Fernando Alonso, Javier Soriano, Genoveva Lopez
Article No.: 36
DOI: 10.1145/2522920.2522929

This article addresses one of the major end-user software engineering (EUSE) challenges, namely, how to motivate end users to apply unfamiliar software engineering techniques and activities to achieve their goal: translate requirements into...

Portfolio: Searching for relevant functions and their usages in millions of lines of code
Collin Mcmillan, Denys Poshyvanyk, Mark Grechanik, Qing Xie, Chen Fu
Article No.: 37
DOI: 10.1145/2522920.2522930

Different studies show that programmers are more interested in finding definitions of functions and their uses than variables, statements, or ordinary code fragments. Therefore, developers require support in finding relevant functions and...

Evaluating a query framework for software evolution data
Michael Würsch, Emanuel Giger, Harald C. Gall
Article No.: 38
DOI: 10.1145/2522920.2522931

With the steady advances in tooling to support software engineering, mastering all the features of modern IDEs, version control systems, and project trackers is becoming increasingly difficult. Answering even the most common developer questions...