3,458 papers · page 134 of 173
Penelope A. Brooks, Atif M. Memon
Most software developed in recent years has a graphical userinterface (GUI). The only way for the end-user to interact with the software application is through the GUI. Hence, acceptance and system testing of the software requires GUI testing. This paper presents a new technique …
Jordi Cabot, Robert Clarisó, Daniel Riera
We present UMLtoCSP, a tool for the formal verification of UML/OCL models. Given a UML class diagram annotated with OCL constraints, UMLtoCSP is able to automatically check several correctness properties, such as the strong and weak satisfiability of the model or the lack of redu…
Yuhong Cai, John C. Grundy, John G. Hosking
Accurate web application performance testing relies on the use of loading tests based on a realistic client behaviour load model. Unfortunately developing such load models and associated test plans and scripts is tedious and error-prone with most existing web performance testing …
Yuanfang Cai, Sunny Huynh, Tao Xie
Modularity is one of the most important properties of a software design, with significant impact on changeability and evolvability. However, a formalized and automated approach is lacking to test and verify software design models against their modularity properties, in particular…
Lin-Zan Cai, Rong-Shiung Wu, Wen-Ting Huang, Farn Wang
In this work, we discuss testing automation issues for kernel code on a high-capacity network-attached storage (NAS) in early development phases when the hardware may not be ready. We propose to construct a high-fidelity versatile emulator for hard disks for the fast configuratio…
Fangzhe Chang, Jennifer Ren
Execution traces produced by software systems during their operation can capture important runtime information, and thus are valuable sources for validating software functional properties. Automating the validation of such properties is currently achieved by writing test scripts,…
Philippe Charles, Robert M. Fuhrer, Stanley M. Sutton Jr.
Programming language design remains a vital field, with interest in languages targeting concurrency, scripting, and aspects, as well as in domain-specific languages. Full-featured integrated development environments (IDEs) have become critical to the adoption of new languages. A …
Huoping Chen, Salim Hariri
In this paper, we present a set of metrics (scalability, adaptability, overhead, latency, complexity, and effectiveness) to evaluate dynamic configuration techniques. We have applied these metrics to two real systems: remote management system and dynamic security configuration of…
Jun Chen, Steve MacDonald
Concurrent programs are difficult to debug and verify because of the nondeterministic nature of concurrent executions. A particular concurrency-related bug may only show up under certain rarely-executed thread interleavings. Therefore, commonly used debugging methodologies, such …
James A. Clause, Ioannis Doudalis, Alessandro Orso, Milos Prvulovic
Programs written in languages that provide direct access tomemory through pointers often contain memory-related faults, which may cause non-deterministic failures and even security vulnerabilities. In this paper, we present a new technique based on dynamic tainting for protecting…
Vittorio Cortellessa, Ivica Crnkovic, Fabrizio Marinelli, Pasqualina Potena
In a component-based development process the selection of components is an activity that takes place over multiple lifecycle phases that span from requirement specifications through design to implementation-integration. Automated tool support for component selection would be very…
Krzysztof Czarnecki
Generative software development aims at modeling and implementing product lines in such a way that all or a substantial part of the desired system can be automatically generated from a specification written in one or more domain-specific languages (DSLs). The tutorial will explor…
Barthélémy Dagenais, Silvia Breu, Frédéric Weigand Warr, Martin P. Robillard
As part of the evolution of software systems, effort is often invested to discover in what parts of the source code a feature (or other concern) is implemented. Unfortunately, knowledge about a concern's implementation can become invalid as the system evolves. We propose to mitig…
Valentin Dallmeier, Thomas Zimmermann
Researchers have proposed a number of tools for automatic bug localization. Given a program and a description of the failure, such tools pinpoint a set of statements that are most likely to contain the bug. Evaluating bug localization tools is a difficult task because existing be…
Davide Devescovi, Elisabetta Di Nitto, Raffaela Mirandola
Autonomic computing is an emergent field for the development of large-scale, self-managing, complex distributed computer-based systems. This paper aims to be a practical approach to Autonomic Computing, by defining and implementing a generic model for autonomic systems, allowing …
Deepak Dhungana, Rick Rabiser, Paul Grünbacher, Thomas Neumayer
Product line engineering comprises many heterogeneous activities such as capturing the variability of reusable assets, supporting the derivation of products from the product line, evolving the product line, or tailoring the approach to the specifics of a domain. The inherent comp…
Madeline Diep, Sebastian G. Elbaum, Matthew B. Dwyer
Identifying truly distinct traces is crucial for the performance and practicality of many dynamic analysis activities. For example, given a trace pool resulting from program failures, identifying the set of distinct traces can reduce the debugging effort by more quickly producing…
Chuan Duan, Jane Cleland-Huang
Automated trace tools dynamically generate links between various software artifacts such as requirements, design elements, code, test cases, and other less structured supplemental documents. Trace algorithms typically utilize information retrieval methods to compute similarity sc…
Matthew B. Dwyer, Rahul Purandare
Programmers using complex libraries and frameworks are faced with the difficult task of ensuring that their implementations comply with complex and informally described rules for proper sequencing of API calls. Recent advances in static and dynamic techniques for checking explici…
Steve M. Easterbrook
This full day tutorial introduces the use of empirical methods appropriate to research in automated software engineering. Using a blend of lecture and discussion, it aims to provide ASE researchers and practitioners with a foundation for conducting and critiquing empirical studie…