3,458 papers · page 135 of 173
Ali Ebnenasir
We present a divide-and-conquer method, called DiConic, for automatic addition of failsafe fault-tolerance to distributed programs, where a failsafe program guarantees to meet its safety specification even when faults occur. Specifically, instead of adding fault-tolerance to a pr…
Bassem Elkarablieh, Iván García, Yuk Lai Suen, Sarfraz Khurshid
Programmers have long used assertions to characterize properties of code. An assertion violation signals a corruption in the programstate. At such a state, it is standard to terminate the program, debug it if possible, and re-execute it. We propose a new view: instead of terminat…
Jeffrey Fischer, Rupak Majumdar
Flow composition languages permit the construction of long-running transactions from collections of independent atomic services. Due to environmental limitations, such transactions usually cannot be made to conform to standard ACID semantics. We propose set consistency, a powerfu…
Rachel Gawley
In Software Product Line Engineering (SPLE), feature modelling is frequently used to model commonalities and variabilities within a domain. A feature model captures an abstract view of a product line and it can serve as a starting point for software design and component implement…
Mark Grechanik
Two or more components (e.g., objects, modules, or programs) interoperate when they exchange data, such as XML data. Using Application Programming Interface (API) calls exported by XML parsers remains a primary mode of accessing and manipulating XML, and these API calls lead to v…
Robert J. Hall
Complex, interrupt-driven hard real time control software is difficult to design and validate. It does not line up well with traditional state-based, timed-transition approaches to real time system specification, due to the complexity of timers and the pending interrupt queue. Th…
Emily Hill, Lori L. Pollock, K. Vijay-Shanker
Completing software maintenance and evolution tasks for today's large, complex software systems can be difficult, often requiring considerable time to understand the system well enough to make correct changes. Despite evidence that successful programmers use program structure as …
Pieter Hooimeijer, Westley Weimer
Software developers spend a significant portion of their resources handling user-submitted bug reports. For software that is widely deployed, the number of bug reports typically outstrips the resources available to triage them. As a result, some reports may be dealt with too slow…
John G. Hosking, John C. Grundy
In this tutorial we present an overview of Domain-specific visual languages (DSVLs), DSVL-based software engineering tools and meta-tools for constructing DSVL-based tools. We present a motivation for DSVL usage in software engineering; examine several DSVL exemplar tools; illust…
Kobi Inkumsah, Tao Xie
Achieving high structural coverage such as branch coverage in object oriented programs is an important and yet challenging goal due to two main challenges. First, some branches involve complex program logics and generating tests to cover them requires deep knowledge of the progra…
Paola Inverardi, Leonardo Mostarda
This paper presents the tool DESERT that allows the generation of decentralized monitoring systems for component based applications.
Lingxiao Jiang, Zhendong Su
Effective bug localization is important for realizing automated debugging. One attractive approach is to apply statistical techniques on a collection of evaluation profiles of program properties to help localize bugs. Previous research has proposed various specialized techniques …
Jan Jürjens, Yijun Yu
We present tools to support model-based security engineering at both the model and the code level. In the approach supported by these tools, one firstly specifies the security-critical part of the system (e.g. a crypto protocol) using the UML security extension UMLsec. The models…
Huzefa H. Kagdi
The thesis proposes a software-change prediction approach that is based on mining fine-grained evolutionary couplings from source code repositories. Here, fine-grain refers to identifying couplings between source code entities such as methods, control structures, or even comments…
Huzefa H. Kagdi, Michael L. Collard, Jonathan I. Maletic
An approach to mine frequently appearing ordered sets of function-call usages, taking into account their proximal control constructs (e.g., if-statements), in the source code is presented. These ordered sets are termed as call-usage patterns. Additionally, variant usages, such as…
Nadzeya Kiyavitskaya, Nicola Zeni, Travis D. Breaux, Annie I. Antón, James R. Cordy, Luisa Mich, John Mylopoulos
Security, privacy and governance are increasingly the focus of government regulations in the U.S., Europe and elsewhere. This trendhas created a "regulation compliance problem", whereby companiesand developers are required to ensure that their software complies with relevant regu…
Kelvin Ku, Thomas E. Hart, Marsha Chechik, David Lie
Software model checking based on abstraction-refinement has recently achieved widespread success in verifying API conformance in device drivers, and we believe this success can be replicated for the problem of buffer overflow detection. This paper presents a publicly-available be…
François Lagarde, Huáscar Espinoza, François Terrier, Sébastien Gérard
The profile extension mechanism has permitted a rapid growth of the use of UML as a domain-specific modeling language. However, designing profiles typically falls into ad-hoc processes that often rely on domain-inappropriate primitives. One of the fundamental reasons is that prof…
Leen Lambers, Hartmut Ehrig, Leonardo Mariani, Mauro Pezzè
Flexibility and interoperability make web services well suited for designing highly-customizable reactive service-based ap-plications, that is interactive applications that can be rapidly adapted to new requirements and environmental conditions. This is the case, for example of p…
Kim Lauenroth, Klaus Pohl
A requirements specification for an individual software system should be consistent, i.e. free of contradictions. In product line engineering, the product line requirements specification comprises all the requirements common to all products of the product line as well as the vari…