Liu Z.,UNU IIST |
Roychoudhury A.,National University of Singapore
International Journal on Software Tools for Technology Transfer | Year: 2012
Large scale software engineering is undergoing substantial shifts due to a combination of technological and economic developments. These include the prevalence of software for embedded systems, global software development across geographically distributed teams, the technological shift towards multi-core platforms, and the inevitable shift towards software being used as a service. In this overview article, we discuss some of the challenges that lie ahead for software validation, due to such technological developments. In particular, we provide a brief introduction to the papers appearing in this special issue, many of which specifically focus on validation of software running on real-time embedded systems. © 2012 Springer-Verlag.
Li D.,University of Macau |
Li X.,Macau University of Science and Technology |
Liu Z.,UNU IIST |
Stolz V.,University of Oslo
Proceedings of the Australian Software Engineering Conference, ASWEC | Year: 2013
Integrating formal methods into UML opens up a way to complement UML-based software development with precise semantics, development methodologies, as well as rigorous verification and refinement techniques. In this paper, we present an approach to integrate a formal method to practical component-based model driven development through defining a UML profile that maps the concepts of the formal method as UML stereotypes, and implementing the profile into a CASE tool. Unlike most of the previous works in this vein, which concentrate on verifying the correctness of the models built in the development process, we focus on how the full development process can be driven by applying the refinement rules of the formal method in an incremental and interactive manner. The formal method we adopt in this work is the refinement for Component and Object Systems (rCOS). We demonstrate the development activities in the CASE tool using an example. © 2013 IEEE.
Griesmayer A.,UNU IIST |
Staber S.,OneSpin Solutions |
Bloem R.,Graz University of Technology
Software Testing Verification and Reliability | Year: 2010
If a program does not fulfill its specification, a model checker can deliver a counterexample. However, although such a counterexample shows how the specification can be violated, it typically comprises large parts of the program and gives little information about which of the visited statements is responsible for the error. In this article, we show that model checkers can also be used to perform model-based diagnosis and thus fault localization. The approach leads to significantly more precise diagnoses than the state-of-the-art and typically rules out 90-99% of the code as possible fault locations. The approach is general and can be applied to any system that is amenable to model checking (with respect to language and complexity). To demonstrate the applicability and high precision of our approach, we present implementations for C programs using two different model checking tools and show experimental results from the TCAS case study and an integration with the DDVerify framework to debug Linux device drivers. Copyright © 2009 John Wiley & Sons, Ltd.
Faber J.,UNU IIST
2012 4th International Workshop on Software Engineering in Health Care, SEHC 2012 - Proceedings | Year: 2012
In order to precisely analyze healthcare workflows, we examine how healthcare workflows can be modeled and verified with an elementary and concise timed CSP extension. To avoid considering healthcare workflows in isolation, we investigate the usage of our CSP dialect for formally modeling workflows alongside the instruction model of the openEHR specification set, which is a general, maintainable, and interoperable approach to electronic health records. Hence, we present a CSP model for openEHR instructions, which allows timed reasoning, and also integrates a basic notion of data and undefinedness. We show that this CSP dialect is suited to verify important properties of healthcare workflows, like workflow consistency, checking against timed specifications, and resource scheduling. © 2012 IEEE.
Chen Z.,National University of Defense Technology |
Liu Z.,UNU IIST |
Wang J.,National University of Defense Technology
Theoretical Computer Science | Year: 2012
Compensating CSP (cCSP) models long-running transactions. It can be used to specify service orchestrations written in programming languages like WS-BPEL. However, the original cCSP does not allow to model internal (non-deterministic) choice, synchronized parallel composition, hiding or recursion. In this paper, we introduce these operators and define for the extended language a failure-divergence (FD) semantics to allow reasoning about non-determinism, deadlock and livelock. Furthermore, we develop a refinement calculus that allows us to compare the level of non-determinism between long running transactions, and transform specifications for design and analysis. © 2012 Elsevier B.V. All rights reserved.