A compositional model to reason about end-to-end QoS in Stochastic Reo connectors
In this paper, we present a compositional semantics for the channel-based coordination language Reo that enables the analysis of quality of service (QoS) properties of service compositions. For this purpose, we annotate Reo channels with stochastic ...
Formal development of wireless sensor-actor networks
Wireless sensor-actor networks are a recent development of wireless networks where both ordinary sensor nodes and more sophisticated and powerful nodes, called actors, are present. In this paper we introduce several, increasingly more detailed, formal ...
Parallel actor monitors: Disentangling task-level parallelism from data partitioning in the actor model
While the actor model of concurrency is well appreciated for its ease of use, its scalability is often criticized. Indeed, the fact that execution within an actor is sequential prevents certain actor systems to take advantage of multicore architectures. ...
An object-oriented parallel programming language for distributed-memory parallel computing platforms
In object-oriented programming (OOP) languages, the ability to encapsulate software concerns of the dominant decomposition in objects is the key to reaching high modularity and loss of complexity in large scale designs. However, distributed-memory ...
Efficient static checker for tainted variable attacks
Tainted flow attacks originate from program inputs maliciously crafted to exploit software vulnerabilities. These attacks are common in server-side scripting languages, such as PHP. In 1997, Orbaek and Palsberg formalized the problem of detecting these ...
Runtime verification of microcontroller binary code
Runtime verification bridges the gap between formal verification and testing by providing techniques and tools that connect executions of a software to its specification without trying to prove the absence of errors. This article presents a framework ...
Formal analysis of a hardware dynamic task dispatcher with CADP
The complexity of multiprocessor architectures for mobile multimedia applications renders their validation challenging. In addition, to provide the necessary flexibility, a part of the functionality is realized by software. Thus, a formal model has to ...
Observations on formal safety analysis in practice
We report on the application of formal verification in the safety analysis of two level crossing controllers that were industrially designed using Scade Suite. Although the theoretical grounds for formalizing safety analysis have been developed in ...
A case study on the lightweight verification of a multi-threaded task server
We present a case study on the verification of the design of a commercial multi-threaded task server (MTTS), developed by the Novabase company, used for massively parallelizing computational tasks. In a first stage, we employed the Plural tool, which is ...
Experiences with formal engineering: Model-based specification, implementation and testing of a software bus at Neopost
We report on the actual industrial use of formal methods during the development of a software bus. During an internship at Neopost Inc., of 14 weeks, we developed the server component of a software bus, called the XBus, using formal methods during the ...