Recent Publications

Abreu R, Zoeteweij P, Van Gemund AJC.  2008.  An observation-based model for fault localization. Proceedings of the 2008 international workshop on dynamic analysis: held in conjunction with the ACM SIGSOFT International Symposium on Software Testing and Analysis (ISSTA 2008). :64–70. Abstractazg_woda08.pdf

Automatic techniques for helping developers in nding the root causes of software failures
are extremely important in the development cycle of software. In this paper we study a dynamic modeling approach to fault localization, which is based on logic reasoning over program traces. We present a simple diagnostic performance model to assess the inence of various parameters, such as test set size and coverage, on the debugging e ort required to nd the root causes of software failures. The model shows that our approach unambiguously reveals the actual faults, provided that suficient test cases are available. This optimal diagnostic performance is con firmed by numerical experiments. Furthermore, we present preliminary experiments on the diagnostic capabilities of this approach using the single-fault Siemens benchmark set. We show that, for the Siemens set, the approach presented in this paper yields a better diagnostic ranking than other well-known techniques.

Abreu R, Zoeteweij P, Van Gemund AJC.  2008.  A dynamic modeling approach to software multiple-fault localization. Proceedings of the Nineteenth International Workshop on Principles of Diagnosis - DX. 8 Abstractabreu_dx08.pdf

Current model-based approaches to software debugging use static program analysis to derive model of the program. In contrast, in the software engineering domain diagnosis approaches are based on analyzing dynamic execution behavior. We present a model-based approach where the program model is derived from dynamic execution behavior, and evaluate its diagnostic performance for both synthetic programs and the Siemens software benchmark, extended by us to accommodate multiple faults. We show that our approach outperforms other model-based software debugging techniques, which is partly due to the use of De Kleer’s intermittency model to account for the variability of software component behavior.

Abreu R, González A, Zoeteweij P, Van Gemund AJC.  2008.  Automatic software fault localization using generic program invariants. Proceedings of the 2008 ACM symposium on Applied computing. :712–717. Abstractsac08.pdf

Despite extensive testing in the development phase, residual defects can be a great threat to dependability in the operational phase. This paper studies the utility of low-cost, generic invariants ("screeners") in their capacity of error detectors within a spectrum-based fault localization (SFL) approach aimed to diagnose program defects in the operational phase. The screeners considered are simple bit-mask and range invariants that screen every load/store and function argument/return program point. Their generic nature allows them to be automatically instrumented without any programmer-effort, while training is straightforward given the test cases available in the development phase. Experiments based on the Siemens program set demonstrate diagnostic performance that is similar to the traditional, development-time application of SFL based on the program pass/fail information known before-hand. This diagnostic performance is currently attained at an average 14% screener execution time overhead, but this overhead can be reduced at limited performance penalty.

Abreu R, González A, Zoeteweij P, Van Gemund AJC.  2008.  On the performance of fault screeners in software development and deployment. Proceedings of the 3rd International Conference on Evaluation of Novel Approaches to Software Engineering (ENASE’08). :123–130. Abstractenase08.pdf

Fault screeners are simple software (or hardware) constructs that detect variable value errors based on unary invariant checking. In this paper we evaluate and compare the performance of two low-cost screeners (Bloom filter, and range screener) that can be automatically integrated within a program, while being automatically trained during the testing phase. While the Bloom filter has the capacity of retaining virtually all variable values associated with proper program execution, this property comes with a much higher false positive rateper unit training effort, compared to the more simple range screener, that compresses all value information in terms of a single lower and upper bound. We present a novel analytic model that predicts the false positive and false negative rate for both type of screeners. We show that the model agrees with our empirical findings. Furthermore, we describe the application of both screeners, where the screener output is used as input to a fault localization process that provides automatic feedback on the location of residual program defects during deployment in the field.

Zoeteweij P, Pietersma J, Abreu R, Feldman A, Van Gemund AJC.  2008.  Automated fault diagnosis in embedded systems. Second International Conference on Secure System Integration and Reliability Improvement - SSIRI. :103–110. Abstractzpafg_bces07.pdf

Automated fault diagnosis is emerging as an important factor in achieving an acceptable and competitive cost/dependability ratio for embedded systems. In this paper, we introduce model-based diagnosis and spectrum-based fault localization, two state-of-the-art approaches to fault diagnosis that jointly cover the combination of hardware and control software typically found in embedded systems. In this paper we present an introduction to the eld, discuss our recent research results, and report on the application on industrial test cases.

Abreu R, Zoeteweij P, Golsteijn R, Van Gemund AJC.  2008.  Automatic Fault Diagnosis in Embedded Software. Proceedings of the 10th Philips Software Conference. :10. Abstractpsc06.pdf

Automated diagnosis of errors detected during software testing can improve the efficiency of the debugging process, and can thus help to make software more reliable. In this paper we discuss the application of a specific automated debugging technique, namely software fault localization through the analysis of program spectra. An important aspect of this technique is the similarity coefficient used to rank potential fault locations. We evaluate the effectiveness of spectrum-based fault localization in a set of benchmark programs. In this context, our experiments indicate that a particular coefficient consistently outperforms the coefficients currently used by other tools. Furthermore, we also applied this technique to an industrial TV software product. We discuss why it is particularly well suited for this application domain, and through experiments on an industrial test case we demonstrate that it can lead to highly accurate diagnoses of realistic errors.

Sanchez A, Ojo A, Janowski T, Estevez E.  2008.  Semantic Interoperability Middleware – Cases and Applications in Electronic Government. Proceedings of the Third International Conference on Digital Information Management, ICDIM 2008. :800-805. Abstractsoje08.pdf

Information systems in different public agencies need to seamlessly collaborate to support the delivery of public services through a one-stop government portal. For such collaboration to be successful, the systems must be organizationally, semantically and technically interoperable. In this paper, we illustrate the need for semantic interoperability services in electronic government and present a solution - semantic interoperability middleware (SIM) that provides such services. Three case studies are drawn from the context of the delivery of welfare benefits involving the collaboration of different public and private organizations. Each case presents a need that is addressed through a SIM service - mediation, validation and discovery. The paper also presents the requirements and architecture of SIM and highlights how SIM services address generic semantic differences and associated conflicts.

Sousa E, Gonçalves RC, Neves DT, Sobral JL.  2008.  Non-Invasive Gridification through an Aspect-Oriented Approach. Ibergrid '08: Proceeding of the 2nd Iberian Grid Infrastructure Conference. :323–334.sousa-2008.pdf
Bernardeschi C, Masci P, Pfeifer H.  2008.  Early Prototyping of Wireless Sensor Network Algorithms in PVS. SAFECOMP. :346–359. Abstract

We describe an approach of using the evaluation mechanism of the specification and verification system PVS to support formal design exploration of WSN algorithms at the early stages of their development. The specification of the algorithm is expressed with an extensible set of programming primitives, and properties of interest are evaluated with ad hoc network simulators automatically generated from the formal specification. In particular, we build on the PVSio package as the core base for the network simulator. According to requirements, properties of interest can be simulated at different levels of abstraction. We illustrate our approach by specifying and simulating a standard routing algorithm for wireless sensor networks.

Masci P, Moniz H, Tedeschi A.  2008.  Services for fault-tolerant conflict resolution in air traffic management. SERENE '08: Proceedings of the 2008 RISE/EFTS Joint International Workshop on Software Engineering for Resilient Systems. :121–125. Abstract

Airborne Self-Separation is a new concept of dynamic management of air traffic flow, where pilots are allowed to select their flight paths in real-time. In this new operational concept, each aircraft is guided by an automated decision procedure and, based on the available information, enters into negotiations with surrounding aircraft in order to coordinate actions and avoid collisions. In this work, we explore the possibility of combining an approach based on Satisficing Game Theory together with fault-tolerant protocols to obtain a robust approach for conflict resolution and air traffic optimization in the context of Airborne Self-Separation.

Almeida PS, Pinto JS, Vilaça M.  2007.  A Tool for Programming with Interaction Nets. Proceedings of RULE . Abstract07tpin.pdf

This paper introduces INblobs, a visual tool developed at Minho for integrated development with Interaction Nets. Most of the existing tools take as input interaction nets and interaction rules represented in a textual format. INblobs is first of all a visual editor that allows users to edit interaction systems (both interaction nets and interaction rules) graphically, and to convert them to textual notation. This can then be used as input to other tools that implement reduction of nets. INblobs also allows the user to reduce nets within the tool, and includes a mechanism that automatically selects the next active pair to be reduced, following one of the given reduction strategies. The paper also describes other features of the tool, such as the creation of rules from pre-defined templates.

Barbosa LS, Cunha J, Visser J.  2007.  A type-level approach to component prototyping. International workshop on Synthesis and analysis of component connectors: in conjunction with the 6th ESEC/FSE joint meeting. :23–36. Abstractsyanco07.pdf

Algebraic theories for modeling components and their interactions offer abstraction over the specifics of component states and interfaces. For example, such theories deal with forms of sequential composition of two components in a manner independent of the type of data stored in the states of the components, and independent of the number and types of methods offered by the interfaces of the combinators. General purpose programming languages do not offer this level of abstraction, which implies that a gap must be bridged when turning component models into implementations. In this paper, we present an approach to prototyping of component-based systems that employs so-called type-level programming (or compile-time computation) to bridge the gap between abstract component models and their type-safe implementation in a functional programming language. We demonstrate our approach using Barbosa’s model of components as generalized Mealy machines. For this model, we develop a combinator library in Haskell, which uses typelevel programming with two effects. Firstly, wiring between components is computed during compilation. Secondly, the well-formedness of the component compositions is guarded byHaskell’s strong type system.

Moreno CB, Lopes N.  2007.  Implementing range queries with a decentralized balanced tree over distributed hash tables. Proceedings of the 1st international conference on Network-based information systems - Nbis. 4658:197–206. Abstractnbis07.pdf

Range queries, retrieving all keys within a given range, is an important add-on for Distributed Hash Tables (DHTs), as they rely only on exact key matching lookup. In this paper we support range queries through a balanced tree algorithm, Decentralized Balanced Tree, that runs over any DHT system.

Our algorithm is based on the B+-tree design that efficiently stores clustered data while maintaining a balanced load on hosts. The internal structure of the balanced tree is suited for range queries operations over many data distributions since it easily handles clustered data without losing performance.

We analyzed, and evaluated our algorithm under a simulated environment, to show it's operation scalability for both insertions and queries. We will show that the system design imposes a fixed penalty over the DHT access cost, and thus inherits the scalability properties of the chosen underlying DHT.

Lopes N, Moreno CB.  2007.  Taming hot-spots in dht inverted indexes. The 11th International Workshop on. Large-Scale and Distributed Systems - LSDS-IR. 7 Abstractacmlsdsir07.pdf

DHT systems are structured overlay networks capable of using
P2P resources as a scalable platform for very large data storage
applications. However, their efficiency expects a level of uni-
formity in the association of data to index keys that is often
not present in inverted indexes. Index data tends to follow non-
uniform distributions, often power law distributions, creating in-
tense local storage hotspots and network bottlenecks on specific
hosts. Current techniques like caching cannot, alone, cope with
this issue.
We propose a new distributed data structure based on a decen-
tralized balanced tree to balance storage data and network load
more uniformly across all hosts. The approach is stackable with
standard DHTs and ensures that the DHT storage subsystem re-
ceives an uniform load by assigning fixed sized, or low variance,
blocks.

Machado D, Preguiça N, Moreno CB, Martins JL.  2007.  VC2-Providing Awareness in Off-The-Shelf Version Control Systems. Proceedings of the 9th International Workshop on Collaborative Editing Systems. 11 Abstractiwces-2007.pdf

Version control systems have been used to help groups of people working at the same or distributed sites to cooperatively create documents. In particular, these systems are very popular in distributed collaborative software development. However, even using these systems, users often perform concurrent changes that require manual con ict resolution. Important causes for this situation are the lack of mutual awareness and coordination, among developers, and reluctance to commit unstable modi cations. The paper addresses this problem by providing a tool that integrates with o the-shelf version control systems and monitors lesystem accesses to relevant les in order to enhance the awareness among developers. With VC2 users can be aware of uncommitted changes made by remote users;
receive request to commit their own changes; be advised to update their local versions. While the nal decision is always under user control, the team is made aware of the level of risk when delaying commits and updates.