The Infona portal uses cookies, i.e. strings of text saved by a browser on the user's device. The portal can access those files and use them to remember the user's data, such as their chosen settings (screen view, interface language, etc.), or their login data. By using the Infona portal the user accepts automatic saving and using this information for portal operation purposes. More information on the subject can be found in the Privacy Policy and Terms of Service. By closing this window the user confirms that they have read the information on cookie usage, and they accept the privacy policy and the way cookies are used by the portal. You can change the cookie settings in your browser.
For runtime verification techniques, the most important part that limits its usage is how to reduce the influence of monitors. An important indicator is the amount of software codes after monitor instrumentation. The application of RV is hindered from the size-explosion problem of monitor construction. Namely, the state number of the monitor obtained is doubly exponential in the size of the input...
Software architecture compliance is concerned with the alignment of implementation with its desired architecture and detecting potential inconsistencies. The work presented in this paper is specifically concerned with behavioral architecture compliance. That is, the focus is on semantic alignment of implementation and architecture. In particular, this paper evaluates three representative approaches...
Engineering and computer science have come up with a variety of techniques to increase the confidence in systems, increase reliability, facilitate certification, improve reuse and maintainability, improve interoperability and portability. Among them are various techniques based on formal models to enhance testing, validation and verification. In this paper, we are concentrating on formal verification...
At present, the most common method for verifying that a system met its specifications or to detect unexpected behavior and issues is to perform simulations on the model. This approach is limited by the fact that it is of course impossible to be exhaustive and fully test the system. This is why the need to resort to formal methods, and more particularly to model-checking, was felt. In this paper, we...
In this tutorial, I will present SeaHorn, a software verification framework. The key distinguishing feature of SeaHorn is its modular design that separates the concerns of the syntax of the programming language, its operational semantics, and the verification semantics. SeaHorn encompasses several novelties: it (a)~encodes verification conditions using an efficient yet precise inter-procedural technique,...
At present, the functionality and performance verification of software and hardware system becomes more and more important. It relates to the country and people's property and life safety. In numerous validation methods, model checking techniques have got the attention of many researchers because that have characteristic of good completeness, error positioning accuracy and automation degree higher...
The correctness verification of embedded control software has become an important research topic in embedded system field. The paper analyses the present situation on correctness verification of control software as well as the limitations of existing technologies. In order to the high reliability and high security requirements of control software, the paper proposes a hierarchical framework and architecture...
SystemC is an IEEE standard system-level language and has been widely adopted in development of embedded systems. Due to the complexity of SystemC specifications, formal verification of SystemC is still at a preliminary stage and no complete formal semantics for SystemC exists so far. This work presents an executable semantics of a subset of SystemC in guarded assignment systems and its applications...
In distributed software systems (DSS) the functionality and/or control are distributed. This may cause the DSS components to show an unexpected behavior known as emergent behavior in the run time, which was not seen in their requirements and design. Emergent behaviors can have irreparable damages for companies. The savings in cost of detecting and fixing emergent behaviors in early phases is more...
In many reactive systems, programs run cyclically. In each cycle, they check the current status and handle the business for a single step. The business logic has to be blasted to pieces, which violates the way that people are used to. Cyclic programs are difficult to develop and their reliability is hard to guarantee. To tackle these problems, we propose a model-based formal design flow which is more...
Scenario-based specifications have been widely used to specify the behavior of reactive systems in a visual and intuitive way. Timed Property Sequence Chart (TPSC) is a recently proposed scenario-based specification for specifying timing properties for real-time systems. However, there is currently no model checking tool available to verify timing properties specified by TPSC specifications. To mitigate...
Model checking has established as an effective method for automatic system analysis and verification. It is making its way into many domains and methodologies. Applying model checking techniques to a new domain (which probably has its own dedicated modeling language) is, however, far from trivial. Translation-based approach works by translating domain specific languages into input languages of a model...
To checking the correctness of UML models, we integrate UML and Model Checking effectually in software development. At the beginning, we select class diagram, state diagram and collaboration diagram from UML models to define a system description model, verification model and system constraints. Following, based on the homomorphic mapping method, this paper proposes a method for transforming the UML...
Model Checking is a technique to prove a concurrent system finite model satisfies a given property. Largely used to prove hardware systems correct, new techniques allow its use also to verify software systems. This paper aims to present a tutorial overview of the fundamental principles of model checking, as presented in the WEIT 2011. The mais goal is to motivate undergraduate students to pursuit...
In this paper, we present different modeling and execution frameworks that allow us to efficiently analyze, design and verify complex systems, mainly to cope with the specific concerns of the Real-time and embedded systems (RTE) domain. First we depict a UML /MARTE based methodology for executable RTE systems modeling with a framework and its underlying model transformations required to execute UML...
In this paper we present loose programming, an approach designed to enable process developers to design their application-specific processes in an intuitive style. Key to this approach is the concept of loose specification, a graphical formalism that allows developers to express their processes just by sketching them as kinds of flow graphs without caring about types, precise knowledge about the available...
Recently, Orc is proposed as a powerful yet elegant language for distributed and concurrent programming which provides computational services such as distributed communication and data manipulation via sites. With a few concurrency primitives, programmers are able to orchestrate the invocation of sites to achieve a goal, and meanwhile, manage timeouts, priorities, and failures. To guarantee the correctness...
The development of Programmable Logic Controllers (PLCs) in the last years has made it possible to apply them in ever more complex tasks. Many systems based on these controllers are safety-critical, the certification of which entails a great effort. Therefore, there is a big demand for tools for analyzing and verifying PLC applications. Among the PLC-specific languages proposed in the standard IEC...
In this paper, we first propose a specification approach combining interface automata and Z language. This approach can be used to describe temporal properties and data properties of software components. A branching time logic for ZIAs is presented. We then give an algorithm for model checking this logic on ZIAs with finite domain. Furthermore, we present a mu-calculus logic for ZIAs, and give a model...
Recent years have seen tremendous progress in the capabilities of software model checkers. These tools are the result of combined efforts by different communities, most notably model checking, abstract interpretation, program semantics, and decision procedures. In this tutorial, we will introduce the fundamentals of software model checking, and show how the different origins of the field combine to...
Set the date range to filter the displayed results. You can set a starting date, ending date or both. You can enter the dates manually or choose them from the calendar.