5,932 research outputs found
Boost the Impact of Continuous Formal Verification in Industry
Software model checking has experienced significant progress in the last two
decades, however, one of its major bottlenecks for practical applications
remains its scalability and adaptability. Here, we describe an approach to
integrate software model checking techniques into the DevOps culture by
exploiting practices such as continuous integration and regression tests. In
particular, our proposed approach looks at the modifications to the software
system since its last verification, and submits them to a continuous formal
verification process, guided by a set of regression test cases. Our vision is
to focus on the developer in order to integrate formal verification techniques
into the developer workflow by using their main software development
methodologies and tools.Comment: 7 page
Compositional Solution Space Quantification for Probabilistic Software Analysis
Probabilistic software analysis aims at quantifying how likely a target event is to occur during program execution. Current approaches rely on symbolic execution to identify the conditions to reach the target event and try to quantify the fraction of the input domain satisfying these conditions. Precise quantification is usually limited to linear constraints, while only approximate solutions can be provided in general through statistical approaches. However, statistical approaches may fail to converge to an acceptable accuracy within a reasonable time. We present a compositional statistical approach for the efficient quantification of solution spaces for arbitrarily complex constraints over bounded floating-point domains. The approach leverages interval constraint propagation to improve the accuracy of the estimation by focusing the sampling on the regions of the input domain containing the sought solutions. Preliminary experiments show significant improvement on previous approaches both in results accuracy and analysis time
Weighted Statistical Testing based on Active Learning and Formal Verification Techniques for Software Reliability Assessment
This work developed an automatic approach for the assessment of software reliability which is both theoretical sound and practical. The developed approach extends and combines theoretical sound approaches in a novel manner to systematically reduce the overhead of reliability assessment
Compositional Performance Modelling with the TIPPtool
Stochastic process algebras have been proposed as compositional specification formalisms for performance models. In this paper, we describe a tool which aims at realising all beneficial aspects of compositional performance modelling, the TIPPtool. It incorporates methods for compositional specification as well as solution, based on state-of-the-art techniques, and wrapped in a user-friendly graphical front end. Apart from highlighting the general benefits of the tool, we also discuss some lessons learned during development and application of the TIPPtool. A non-trivial model of a real life communication system serves as a case study to illustrate benefits and limitations
A formal abstract framework for modelling and testing complex software systems
International audienceThe contribution of this paper is twofold: first, it defines a unified framework for modeling abstract components, as well as a formalization of integration rules to combine their behaviour. This is based on a coalgebraic definition of components, which is a categorical representation allowing the unification of a large family of formalisms for specifying state-based systems. Second, it studies compositional conformance testing i.e. checking whether an implementation made of correct interacting components combined with integration operators conforms to its specification
Towards a test generation approach for compositional real-time systems.
We can find many examples of Real-time Systems (RTS) in critical applications such
as patient monitoring, air traffic control and others. A failure in this kind of system
can be catastrophic. For example, it can harm human lives or increase project budgets.
Hence, the testing of real-time systems must be accurate. Models are used to
perform this task, since they contain information about how the system behaves and
when actions may happen. Due to the complexity of the available systems, most RTS
are composed of subsystems that interact as part of a bigger system. These subsystems
are combined through operators to model their specification behavior. However, works
on the testing of compositional models for RTS are practically nonexistent. Among the
available approaches to perform testing for non-compositional RTS models, the tioco
conformance testing theory focuses on generating test cases based on implementation
and specification models. Moreover, a conformance relation defines whether success in
testing means conformance between an implementation and a specification. To express
specifications and to represent implementations under test, we use Timed Input Output
Symbolic Transitions Systems (TIOSTS). These models store symbolic data and
clock variables, avoiding the state space and region explosion problems. Regarding the
testing of compositional models, some questions may arise: If two subsystem implementations
are tioco conformant to their specifications, is it correct to assume that the
composition of the implementations is also tioco conformant to the composition of their
specifications? In this case, how can operators be defined to work with TIOSTS and
tioco? To answer these questions, this thesis proposes the sequential, interruption and
parallel operators for the TIOSTS model. For each operator, we study how the tioco
conformance relation behaves with respect to subsystems and the composed system.
We present results towards properties of compositional operators when the subsystems
are composed, as well as implementing them. Besides, we show three examples
where each operator can be used and illustrate the applicability of our approach in two
exploratory studies. The first models components of a aircraft specification and the
second presents application level interruptions in an Android system.We can nd many examples of Real-time Systems (RTS) in critical applications such as patient monitoring, air tra c control and others. A failure in this kind of system
can be catastrophic. For example, it can harm human lives or increase project budgets.
Hence, the testing of real-time systems must be accurate. Models are used to
perform this task, since they contain information about how the system behaves and
when actions may happen. Due to the complexity of the available systems, most RTS
are composed of subsystems that interact as part of a bigger system. These subsystems
are combined through operators to model their speci cation behavior. However, works
on the testing of compositional models for RTS are practically nonexistent. Among the
available approaches to perform testing for non-compositional RTS models, the tioco
conformance testing theory focuses on generating test cases based on implementation
and speci cation models. Moreover, a conformance relation de nes whether success in
testing means conformance between an implementation and a speci cation. To express
speci cations and to represent implementations under test, we use Timed Input Output
Symbolic Transitions Systems (TIOSTS). These models store symbolic data and
clock variables, avoiding the state space and region explosion problems. Regarding the
testing of compositional models, some questions may arise: If two subsystem implementations
are tioco conformant to their speci cations, is it correct to assume that the
composition of the implementations is also tioco conformant to the composition of their
speci cations? In this case, how can operators be de ned to work with TIOSTS and
tioco? To answer these questions, this thesis proposes the sequential, interruption and
parallel operators for the TIOSTS model. For each operator, we study how the tioco
conformance relation behaves with respect to subsystems and the composed system.
We present results towards properties of compositional operators when the subsystems
are composed, as well as implementing them. Besides, we show three examples
where each operator can be used and illustrate the applicability of our approach in two
exploratory studies. The rst models components of a aircraft speci cation and the
second presents application level interruptions in an Android system
- âŠ