Reverse Engineering of Middleware for Verification of Robot Control Architectures

  title={Reverse Engineering of Middleware for Verification of Robot Control Architectures},
  author={Ali Khalili and Lorenzo Natale and Armando Tacchella},
We consider the problem of automating the verification of distributed control software relying on publish-subscribe middleware. In this scenario, the main challenge is that software correctness depends intrinsically on correct usage of middleware components, but structured models of such components might not be available for analysis, e.g., because they are too large and complex to be described precisely in a cost-effective way. To overcome this problem, we propose to identify abstract models… 

Learning middleware models for verification of distributed control programs

Combining Black-Box and White-Box Techniques for Learning Register Automata

Some directions for future research on how black-box model learning can be enhanced using white-box information extraction methods are explored, with the aim to maintain the benefits of dynamic black- box methods while making effective use of information that can be obtained through white- box techniques.

Active Automata Learning in Practice - An Annotated Bibliography of the Years 2011 to 2016

The progress that has been made over the past five years is reviewed, the status of active automata learning techniques with respect to applications in the field of software engineering is assessed, and an updated agenda for future research is presented.

The iCub Software Architecture: Evolution and Lessons Learned

This paper illustrates the software architecture of the iCub humanoid robot and the software engineering best practices that have emerged driven by the needs of the research community and describes the latest developments at the level of the middleware supporting interface definition and automatic code generation, logging, ROS compatibility and channel prioritization.

Active Model Learning for the Analysis of Network Protocols

In order to learn an over-approximation of a “large” Mealy machine M, a transducer is placed in between the teacher and the learner, which translates concrete inputs in I to abstract inputs in X, concrete outputs in O to abstract outputs in Y, and vice versa.

Machine Learning for Dynamic Software Analysis: Potentials and Limits

It is argued that the optimal choice of an ML method for a particular application should be guided by the type of models one seeks to infer, and the open challenges for reaching the full potential of ML for software engineering are discussed.



Interface automata

This work presents a light-weight formalism that captures the temporal aspects of software component interfaces through an automata-based language that supports automatic compatability checks between interface models, and thus constitutes a type system for component interaction.

Principles of model checking

Principles of Model Checking offers a comprehensive introduction to model checking that is not only a text suitable for classroom use but also a valuable reference for researchers and practitioners in the field.

Principles of Model Checking (Representation and Mind Series)

Principles of Model Checking offers a comprehensive introduction to model checking that is not only a text suitable for classroom use but also a valuable reference for researchers and practitioners in the field.

Specification and Verification of Concurrent Systems

  • C. Rattray
  • Computer Science
    Workshops in Computing
  • 1990
This book discusses the Interplay of Theory and Practice in a Parallel Object-Oriented Language, and a Functional Programming Approach to the Specification and Verification of Concurrent Systems.

Adaptive Model Checking

This work considers the case where inconsistencies are present between a system and its corresponding model, used for automatic verification, and presents an implementation of the proposed methodology called AMC (for Adaptive Model Checking), using techniques from black box testing and machine learning.

Learning Nondeterministic Mealy Machines

An algorithm to infer nondeterministic computation models in the form of Mealy machines is introduced and extensive experimental results are provided to assess its potential in the identication of black-box reactive systems.

Learning I/O Automata

It is shown that, by exploiting links between three widely used modeling frameworks for reactive systems, any tool for active learning of Mealy machines can be used for learning I/O automata that are deterministic and output determined.

Hierarchical correctness proofs for distributed algorithms

This thesis introduces a new model for distributed computation in asynchronous networks, the input-output automaton. This simple, powerful model captures in a novel way the game-theoretical

The SPIN Model Checker - primer and reference manual

This is the most comprehensive reference guide to SPIN, written by the principal designer of the tool, and gives detailed advice on methods for tackling the most complex software verification problems.

Specification and verification of concurrent systems in CESAR

By an example, the alternating bit protocol, the use of CESAR, an interactive system for aiding the design of distributed applications, is illustrated.