50 research outputs found
Scaling Bounded Model Checking By Transforming Programs With Arrays
Bounded Model Checking is one the most successful techniques for finding bugs
in program. However, model checkers are resource hungry and are often unable to
verify programs with loops iterating over large arrays.We present a
transformation that enables bounded model checkers to verify a certain class of
array properties. Our technique transforms an array-manipulating (ANSI-C)
program to an array-free and loop-free (ANSI-C) program thereby reducing the
resource requirements of a model checker significantly. Model checking of the
transformed program using an off-the-shelf bounded model checker simulates the
loop iterations efficiently. Thus, our transformed program is a sound
abstraction of the original program and is also precise in a large number of
cases - we formally characterize the class of programs for which it is
guaranteed to be precise. We demonstrate the applicability and usefulness of
our technique on both industry code as well as academic benchmarks
Quality of process modeling using BPMN: a model-driven approach
Dissertação para obtenção do Grau de Doutor em
Engenharia InformáticaContext: The BPMN 2.0 specification contains the rules regarding the correct usage of
the language’s constructs. Practitioners have also proposed best-practices for producing better BPMN models. However, those rules are expressed in natural language, yielding sometimes ambiguous interpretation, and therefore, flaws in produced BPMN models.
Objective: Ensuring the correctness of BPMN models is critical for the automation of
processes. Hence, errors in the BPMN models specification should be detected and
corrected at design time, since faults detected at latter stages of processes’ development can be more costly and hard to correct. So, we need to assess the quality of BPMN models in a rigorous and systematic way.
Method: We follow a model-driven approach for formalization and empirical validation
of BPMN well-formedness rules and BPMN measures for enhancing the quality of
BPMN models.
Results: The rule mining of BPMN specification, as well as recently published BPMN works, allowed the gathering of more than a hundred of BPMN well-formedness and
best-practices rules. Furthermore, we derived a set of BPMN measures aiming to provide information to process modelers regarding the correctness of BPMN models. Both BPMN rules, as well as BPMN measures were empirically validated through samples of
BPMN models.
Limitations: This work does not cover control-flow formal properties in BPMN models, since they were extensively discussed in other process modeling research works.
Conclusion: We intend to contribute for improving BPMN modeling tools, through the
formalization of well-formedness rules and BPMN measures to be incorporated in those
tools, in order to enhance the quality of process modeling outcomes
Model checking multi-agent systems
A multi-agent system (MAS) is usually understood as a system composed of interacting
autonomous agents. In this sense, MAS have been employed successfully as a modelling
paradigm in a number of scenarios, especially in Computer Science. However, the process
of modelling complex and heterogeneous systems is intrinsically prone to errors: for this
reason, computer scientists are typically concerned with the issue of verifying that a system
actually behaves as it is supposed to, especially when a system is complex.
Techniques have been developed to perform this task: testing is the most common technique,
but in many circumstances a formal proof of correctness is needed. Techniques
for formal verification include theorem proving and model checking. Model checking
techniques, in particular, have been successfully employed in the formal verification of
distributed systems, including hardware components, communication protocols, security
protocols.
In contrast to traditional distributed systems, formal verification techniques for MAS are
still in their infancy, due to the more complex nature of agents, their autonomy, and
the richer language used in the specification of properties. This thesis aims at making
a contribution in the formal verification of properties of MAS via model checking. In
particular, the following points are addressed:
• Theoretical results about model checking methodologies for MAS, obtained by
extending traditional methodologies based on Ordered Binary Decision Diagrams (OBDDS) for temporal logics to multi-modal logics for time, knowledge, correct behaviour, and strategies of agents. Complexity results for model checking these logics
(and their symbolic representations).
• Development of a software tool (MCMAS) that permits the specification and verification
of MAS described in the formalism of interpreted systems.
• Examples of application of MCMAS to various MAS scenarios (communication, anonymity, games, hardware diagnosability), including experimental results, and comparison with other tools available
Modern techniques for constraint solving the CASPER experience
Dissertação apresentada para obtenção do
Grau de Doutor em Engenharia Informática,
pela Universidade Nova de Lisboa, Faculdade
de Ciências e TecnologiaConstraint programming is a well known paradigm for addressing combinatorial problems which has enjoyed considerable success for solving many relevant industrial and academic problems. At the heart of constraint programming lies the constraint solver, a computer program which attempts to find a solution to the problem, i.e. an assignment of all the variables in the problemsuch that all the constraints are satisfied.
This dissertation describes a set of techniques to be used in the implementation of a constraint solver. These techniques aim at making a constraint solver more extensible and efficient,two properties which are hard to integrate in general, and in particular within a constraint solver. Specifically, this dissertation addresses two major problems: generic incremental
propagation and propagation of arbitrary decomposable constraints. For both problemswe
present a set of techniques which are novel, correct, and directly concerned with extensibility and efficiency.
All the material in this dissertation emerged from our work in designing and implementing a generic constraint solver. The CASPER (Constraint Solving Platformfor Engineering and Research)solver does not only act as a proof-of-concept for the presented techniques, but also served as the common test platform for the many discussed theoretical models. Besides the work related to the design and implementation of a constraint solver, this dissertation also
presents the first successful application of the resulting platform for addressing an open research problem, namely finding good heuristics for efficiently directing search towards a solution
A Framework for Model-based Testing of Integrated Modular Avionics
In modern aircraft, electronics and control systems are designed based on the Integrated Modular Avionics (IMA) system architecture. While this has numerous advantages (reduction of weight, reduced power and fuel consumption, reduction of development cost and certification effort), the IMA platform also adds an additional layer of complexity. Due to the safety-critical nature of many avionics functions careful and accurate verification and testing are imperative. This thesis describes results achieved from research on model-based testing of IMA systems, in part obtained during the European research project SCARLETT. It presents a complete framework which enables IMA domain experts to design and run model-based tests on bare module, configured module, and application level in a standardised test environment. The first part of this thesis provides background information on the relevant topics: the IMA concept, domain-specific languages, model-based testing, and the TTCN-3 standard. The second part introduces the IMA Test Modelling Language (ITML) framework and its components. It describes a tailored TTCN-3 test environment with appropriate adapters and codecs. Based on MetaEdit and its meta-metamodel GOPPRR, it defines the three variants of the domain-specific language ITML, each with its abstract and concrete syntax as well as static and dynamic semantics. The process of test procedure generation from ITML models is explained in detail. Furthermore, the design and implementation of a universal Test Agent is shown. A dedicated communication protocol for controlling the agent is defined as well. The third part provides an evaluation of the framework. It shows usage scenarios in the SCARLETT project, gives a comparison to related tools and approaches, and explains the advantages of using the ITML framework for an IMA domain expert. The final part presents several example ITML models. It also provides reference material like XML schemata, framework source code, and model validators
STAMINA: Stochastic Approximate Model-Checker for Infinite-State Analysis
Reliable operation of every day use computing system, from simple coffee machines to complex flight controller system in an aircraft, is necessary to save time, money, and in some cases lives. System testing can check for the presence of unwanted execution but cannot guarantee the absence of such. Probabilistic model checking techniques have demonstrated significant potential in verifying performance and reliability of various systems whose execution are defined with likelihood. However, its inability to scale limits its applicability in practice.
This thesis presents a new model checker, STAMINA, with efficient and scalable model truncation for probabilistic verification. STAMINA uses a novel model reduction technique generating a finite state representations of large systems that are amenable to existing probabilistic model checking techniques. The proposed method is evaluated on several benchmark examples. Comparisons with another state-of-art tool demonstrates both accuracy and efficiency of the presented method
HeDLa : a strongly typed, component-based embedded hardware description language
Over the past years, various techniques for the embedding of hardware description languages within general purpose languages have been developed and explored. In particular, numerous HDLs embedded in strongly typed functional languages have been developed and used for different applications. A common trait of most of these languages is that they treat hardware components as functions or relations between the inputs and outputs of the circuit. The alternative view, of viewing the circuits as components which can be instantiated, composed and transformed has been a relatively less well explored area in this context. In this paper we present HeDLa, a component-based hardware description language embedded in Haskell, and show how features such as strong-typing and higher-order functions enable us to design and compose circuits in a safer and more abstract fashion. Furthermore, the component-based approach allows access to circuit structure directly, enabling us to reason about non-functional aspects of the component, such as placement, area and power consumption more easily. Finally, we discuss some initial experiments in multi-level simulation of circuits which enable testing and more effective simulation of large circuits.peer-reviewe