Scispace (Formerly Typeset)
  1. Home
  2. Topics
  3. Formal specification
  4. 2018
  1. Home
  2. Topics
  3. Formal specification
  4. 2018
Showing papers on "Formal specification published in 2018"
Proceedings Article•10.1109/CSF.2018.00022•
KEVM: A Complete Formal Semantics of the Ethereum Virtual Machine

[...]

Everett Hildenbrandt1, Manasvi Saxena1, Nishant Rodrigues1, Xiaoran Zhu2, Philip Daian, Dwight Guth, Brandon Moore, Daejun Park1, Yi Zhang1, Andrei Stefanescu, Grigore Rosu1 •
University of Illinois at Urbana–Champaign1, East China Normal University2
9 Jul 2018
TL;DR: KEVM is presented, an executable formal specification of the EVM's bytecode stack-based language built with the K Framework, designed to serve as a solid foundation for further formal analyses and to demonstrate the usability of the semantics.
Abstract: A developing field of interest for the distributed systems and applied cryptography communities is that of smart contracts: self-executing financial instruments that synchronize their state, often through a blockchain. One such smart contract system that has seen widespread practical adoption is Ethereum, which has grown to a market capacity of 100 billion USD and clears an excess of 500,000 daily transactions. Unfortunately, the rise of these technologies has been marred by a series of costly bugs and exploits. Increasingly, the Ethereum community has turned to formal methods and rigorous program analysis tools. This trend holds great promise due to the relative simplicity of smart contracts and bounded-time deterministic execution inherent to the Ethereum Virtual Machine (EVM). Here we present KEVM, an executable formal specification of the EVM's bytecode stack-based language built with the K Framework, designed to serve as a solid foundation for further formal analyses. We empirically evaluate the correctness and performance of KEVM using the official Ethereum test suite. To demonstrate the usability, several extensions of the semantics are presented. and two different-language implementations of the ERC20 Standard Token are verified against the ERC20 specification. These results are encouraging for the executable semantics approach to language prototyping and specification.

427 citations

Journal Article•10.1145/3158668•
A Survey of Statistical Model Checking

[...]

Gul Agha1, Karl Palmskog1•
University of Illinois at Urbana–Champaign1
31 Jan 2018-ACM Transactions on Modeling and Computer Simulation
TL;DR: SMC provides a more widely applicable and scalable alternative to analysis of properties of stochastic systems using numerical and symbolic methods, while emphasizing current limitations and tradeoffs between precision and scalability.
Abstract: Interactive, distributed, and embedded systems often behave stochastically, for example, when inputs, message delays, or failures conform to a probability distribution. However, reasoning analytically about the behavior of complex stochastic systems is generally infeasible. While simulations of systems are commonly used in engineering practice, they have not traditionally been used to reason about formal specifications. Statistical model checking (SMC) addresses this weakness by using a simulation-based approach to reason about precise properties specified in a stochastic temporal logic. A specification for a communication system may state that within some time bound, the probability that the number of messages in a queue will be greater than 5 must be less than 0.01. Using SMC, executions of a stochastic system are first sampled, after which statistical techniques are applied to determine whether such a property holds. While the output of sample-based methods are not always correct, statistical inference can quantify the confidence in the result produced. In effect, SMC provides a more widely applicable and scalable alternative to analysis of properties of stochastic systems using numerical and symbolic methods. SMC techniques have been successfully applied to analyze systems with large state spaces in areas such as computer networking, security, and systems biology. In this article, we survey SMC algorithms, techniques, and tools, while emphasizing current limitations and tradeoffs between precision and scalability.

321 citations

Journal Article•10.1145/3342355•
Formal Specification and Verification of Autonomous Robotic Systems: A Survey

[...]

Matt Luckcuck1, Marie Farrell1, Louise A. Dennis1, Clare Dixon1, Michael Fisher1 •
University of Liverpool1
29 Jun 2018-arXiv: Formal Languages and Automata Theory
TL;DR: This paper systematically surveys the state-of-the-art in formal specification and verification for autonomous robotics and identifies and categorises the challenges posed by, the formalisms aimed at, and the formal approaches for the specification and verify of autonomous robotics.
Abstract: Autonomous robotic systems are complex, hybrid, and often safety-critical; this makes their formal specification and verification uniquely challenging. Though commonly used, testing and simulation alone are insufficient to ensure the correctness of, or provide sufficient evidence for the certification of, autonomous robotics. Formal methods for autonomous robotics has received some attention in the literature, but no resource provides a current overview. This paper systematically surveys the state-of-the-art in formal specification and verification for autonomous robotics. Specially, it identifies and categorises the challenges posed by, the formalisms aimed at, and the formal approaches for the specification and verification of autonomous robotics.

217 citations

Proceedings Article•10.1145/3229565.3229566•
Clear as MUD: Generating, Validating and Applying IoT Behavioral Profiles

[...]

Ayyoob Hamza1, Dinesha Ranathunga2, Hassan Habibi Gharakheili1, Matthew Roughan2, Vijay Sivaraman1 •
University of New South Wales1, University of Adelaide2
7 Aug 2018
TL;DR: This paper aims to assist IoT manufacturers in developing and verifying MUD profiles, while also helping adopters of these devices to ensure they are compatible with their organizational policies, to demonstrate how MUD can reduce the effort needed for IoT acceptance testing.
Abstract: IoT devices are increasingly being implicated in cyber-attacks, raising community concern about the risks they pose to critical infrastructure, corporations, and citizens. In order to reduce this risk, the IETF is pushing IoT vendors to develop formal specifications of the intended purpose of their IoT devices, in the form of a Manufacturer Usage Description (MUD), so that their network behavior in any operating environment can be locked down and verified rigorously. This paper aims to assist IoT manufacturers in developing and verifying MUD profiles, while also helping adopters of these devices to ensure they are compatible with their organizational policies. Our first contribution is to develop a tool that takes the traffic trace of an arbitrary IoT device as input and automatically generates the MUD profile for it. We contribute our tool as open source, apply it to 28 consumer IoT devices, and highlight insights and challenges encountered in the process. Our second contribution is to apply a formal semantic framework that not only validates a given MUD profile for consistency, but also checks its compatibility with a given organizational policy. Finally, we apply our framework to representative organizations and selected devices, to demonstrate how MUD can reduce the effort needed for IoT acceptance testing.

131 citations

Proceedings Article•10.1145/3213846.3213872•
Translating code comments to procedure specifications

[...]

Arianna Blasi1, Alberto Goffi1, Konstantin Kuznetsov2, Alessandra Gorla3, Michael D. Ernst4, Mauro Pezzè1, Sergio Delgado Castellanos3 •
University of Lugano1, Saarland University2, IMDEA3, University of Washington4
12 Jul 2018
TL;DR: Jdoctor is presented, an approach that combines pattern, lexical, and semantic matching to translate Javadoc comments into executable procedure specifications written as Java expressions and supplied to an automated test case generation tool, Randoop.
Abstract: Procedure specifications are useful in many software development tasks. As one example, in automatic test case generation they can guide testing, act as test oracles able to reveal bugs, and identify illegal inputs. Whereas formal specifications are seldom available in practice, it is standard practice for developers to document their code with semi-structured comments. These comments express the procedure specification with a mix of predefined tags and natural language. This paper presents Jdoctor, an approach that combines pattern, lexical, and semantic matching to translate Javadoc comments into executable procedure specifications written as Java expressions. In an empirical evaluation, Jdoctor achieved precision of 92% and recall of 83% in translating Javadoc into procedure specifications. We also supplied the Jdoctor-derived specifications to an automated test case generation tool, Randoop. The specifications enabled Randoop to generate test cases of higher quality.

106 citations

Journal Article•10.4204/EPTCS.287.1•
Towards Large-scale Functional Verification of Universal Quantum Circuits

[...]

Matthew Amy1•
University of Waterloo1
17 May 2018-arXiv: Quantum Physics
TL;DR: In this paper, a framework for the formal specification and verification of quantum circuits based on the Feynman path integral is introduced, which provides a structured and natural way of specifying quantum operations, particularly for quantum implementations of classical functions.
Abstract: We introduce a framework for the formal specification and verification of quantum circuits based on the Feynman path integral. Our formalism, built around exponential sums of polynomial functions, provides a structured and natural way of specifying quantum operations, particularly for quantum implementations of classical functions. Verification of circuits over all levels of the Clifford hierarchy with respect to either a specification or reference circuit is enabled by a novel rewrite system for exponential sums with free variables. Our algorithm is further shown to give a polynomial-time decision procedure for checking the equivalence of Clifford group circuits. We evaluate our methods by performing automated verification of optimized Clifford+T circuits with up to 100 qubits and thousands of T gates, as well as the functional verification of quantum algorithms using hundreds of qubits. Our experiments culminate in the automated verification of the Hidden Shift algorithm for a class of Boolean functions in a fraction of the time it has taken recent algorithms to simulate.

99 citations

Posted Content•
Formal Specification and Verification of Smart Contracts for Azure Blockchain

[...]

Shuvendu K. Lahiri1, Shuo Chen1, Yuepeng Wang2, Isil Dillig2•
Microsoft1, University of Texas at Austin2
20 Dec 2018-arXiv: Programming Languages
TL;DR: This paper formalizessemantic conformance of smart contracts against a state machine model with access-control policy and develops a highly-automated formal verifier for Solidity that can produce proofs as well as counterexamples.
Abstract: Ensuring correctness of smart contracts is paramount to ensuring trust in blockchain-based systems. This paper studies the safety and security of smart contracts in the \emph{Azure Blockchain Workbench}, an enterprise Blockchain-as-a-Service offering from Microsoft. As part of this study, we formalize \emph{semantic conformance} of smart contracts against a state machine model with access-control policy and develop a highly-automated formal verifier for Solidity that can produce proofs as well as counterexamples. We have applied our verifier {\sc VeriSol} to analyze {\it all} contracts shipped with the Azure Blockchain Workbench, which includes application samples as well as a governance contract for Proof of Authority (PoA). We have found previously unknown bugs in these published smart contracts. After fixing these bugs, {\sc VeriSol} was able to successfully perform full verification for all of these contracts.

87 citations

Proceedings Article•10.1109/EDOC.2018.00031•
Automatic Generation of Test Cases for REST APIs: A Specification-Based Approach

[...]

Hamza Ed-douibi1, Javier Luis Cánovas Izquierdo1, Jordi Cabot1•
Open University of Catalonia1
1 Oct 2018
TL;DR: This paper proposes an approach to generate specification-based test cases for REST APIs to make sure that such APIs meet the requirements defined in their specifications, and particularly the OpenAPI one.
Abstract: The REpresentation State Transfer (REST) has gained momentum as the preferred technique to design Web APIs. REST allows building loosely coupled systems by relying on HTTP and the Web-friendly format JSON. However, REST is not backed by any standard or specification to describe how to create/consume REST APIs, thus creating new challenges for their integration, testing and verification. To face this situation, several specification formats have been proposed (e.g., OpenAPI, RAML, and API Blueprint), which can help automate tasks in REST API development (e.g., testing) and consumption (e.g., SDKs generation). In this paper we focus on automated REST API testing relying on API specifications, and particularly the OpenAPI one. We propose an approach to generate specification-based test cases for REST APIs to make sure that such APIs meet the requirements defined in their specifications. We provide a proof-of-concept tool implementing our approach, which we have validated with 91 OpenAPI definitions. Our experiments show that the generated test cases cover on average 76.5% of the elements included in the OpenAPI definitions. Furthermore, our experiments also reveal that 40% of the tested APIs fail.

83 citations

Journal Article•10.1109/TSE.2017.2707089•
A Survey of Recent Trends in Testing Concurrent Software Systems

[...]

Francesco Adalberto Bianchi1, Alessandro Margara1, Mauro Pezzè1•
University of Lugano1
01 Aug 2018-IEEE Transactions on Software Engineering
TL;DR: This survey provides a framework to capture the key features of the Available techniques to test concurrent software systems, identifies a set of classification criteria to review and compare the available techniques, and discusses in details their strengths and weaknesses, leading to a thorough assessment of the field and paving the road for future progresses.
Abstract: Many modern software systems are composed of multiple execution flows that run simultaneously, spanning from applications designed to exploit the power of modern multi-core architectures to distributed systems consisting of multiple components deployed on different physical nodes We collectively refer to such systems as concurrent systems Concurrent systems are difficult to test, since the faults that derive from their concurrent nature depend on the interleavings of the actions performed by the individual execution flows Testing techniques that target these faults must take into account the concurrency aspects of the systems The increasingly rapid spread of parallel and distributed architectures led to a deluge of concurrent software systems, and the explosion of testing techniques for such systems in the last decade The current lack of a comprehensive classification, analysis and comparison of the many testing techniques for concurrent systems limits the understanding of the strengths and weaknesses of each approach and hampers the future advancements in the field This survey provides a framework to capture the key features of the available techniques to test concurrent software systems, identifies a set of classification criteria to review and compare the available techniques, and discusses in details their strengths and weaknesses, leading to a thorough assessment of the field and paving the road for future progresses

56 citations

Proceedings Article•10.23919/DATE.2018.8342122•
CHASE: Contract-based requirement engineering for cyber-physical system design

[...]

Pierluigi Nuzzo1, Michele Lora2, Yishai A. Feldman3, Alberto Sangiovanni-Vincentelli4•
University of Southern California1, University of Verona2, IBM3, University of California, Berkeley4
19 Mar 2018
TL;DR: CHASE is presented, a framework for requirement capture, formalization, and validation for cyber-physical systems that combines a practical front-end formal specification language based on patterns with a rigorous verification back-end based on assume-guarantee contracts.
Abstract: This paper presents CHASE, a framework for requirement capture, formalization, and validation for cyber-physical systems. CHASE combines a practical front-end formal specification language based on patterns with a rigorous verification back-end based on assume-guarantee contracts. The front-end language can express temporal properties of networks using a declarative style, and supports automatic translation from natural-language constructs to low-level mathematical languages. The verification back-end leverages the mathematical formalism of contracts to reason about system requirements and determine inconsistencies and dependencies between them. CHASE features a modular and extensible software infrastructure that can support different domain-specific languages, modeling formalisms, and analysis tools. We illustrate its effectiveness on industrial design examples, including control of aircraft power distribution networks and arbitration of a mixed-criticality automotive bus.

46 citations

Journal Article•10.1109/TSE.2017.2694423•
A PVS-Simulink Integrated Environment for Model-Based Analysis of Cyber-Physical Systems

[...]

Cinzia Bernardeschi1, Andrea Domenici1, Paolo Masci2•
University of Pisa1, University of Minho2
01 Jun 2018-IEEE Transactions on Software Engineering
TL;DR: The ultimate aim of this work is to facilitate the introduction of formal verification technologies in the software development process of cyber-physical systems, which typically requires the integrated use of different formalisms and tools.
Abstract: This paper presents a methodology, with supporting tool, for formal modeling and analysis of software components in cyber-physical systems. Using our approach, developers can integrate a simulation of logic-based specifications of software components and Simulink models of continuous processes. The integrated simulation is useful to validate the characteristics of discrete system components early in the development process. The same logic-based specifications can also be formally verified using the Prototype Verification System (PVS), to gain additional confidence that the software design complies with specific safety requirements. Modeling patterns are defined for generating the logic-based specifications from the more familiar automata-based formalism. The ultimate aim of this work is to facilitate the introduction of formal verification technologies in the software development process of cyber-physical systems, which typically requires the integrated use of different formalisms and tools. A case study from the medical domain is used to illustrate the approach. A PVS model of a pacemaker is interfaced with a Simulink model of the human heart. The overall cyber-physical system is co-simulated to validate design requirements through exploration of relevant test scenarios. Formal verification with the PVS theorem prover is demonstrated for the pacemaker model for specific safety aspects of the pacemaker design.
Journal Article•10.1145/3282444•
Instruction-Level Abstraction (ILA): A Uniform Specification for System-on-Chip (SoC) Verification

[...]

Bo-Yuan Huang1, Hongce Zhang1, Pramod Subramanyan2, Yakir Vizel3, Aarti Gupta1, Sharad Malik1 •
Princeton University1, Indian Institute of Technology Kanpur2, Technion – Israel Institute of Technology3
03 Jan 2018-arXiv: Hardware Architecture
TL;DR: In this article, the authors formalize the concept of Instruction Level Abstraction (ILA), developed informally in previous work, and show its application in modeling and verification of accelerators.
Abstract: Modern Systems-on-Chip (SoC) designs are increasingly heterogeneous and contain specialized semi-programmable accelerators in addition to programmable processors. In contrast to the pre-accelerator era, when the ISA played an important role in verification by enabling a clean separation of concerns between software and hardware, verification of these "accelerator-rich" SoCs presents new challenges. From the perspective of hardware designers, there is a lack of a common framework for the formal functional specification of accelerator behavior. From the perspective of software developers, there exists no unified framework for reasoning about software/hardware interactions of programs that interact with accelerators. This paper addresses these challenges by providing a formal specification and high-level abstraction for accelerator functional behavior. It formalizes the concept of an Instruction Level Abstraction (ILA), developed informally in our previous work, and shows its application in modeling and verification of accelerators. This formal ILA extends the familiar notion of instructions to accelerators and provides a uniform, modular, and hierarchical abstraction for modeling software-visible behavior of both accelerators and programmable processors. We demonstrate the applicability of the ILA through several case studies of accelerators (for image processing, machine learning, and cryptography), and a general-purpose processor (RISC-V). We show how the ILA model facilitates equivalence checking between two ILAs, and between an ILA and its hardware finite-state machine (FSM) implementation. Further, this equivalence checking supports accelerator upgrades using the notion of ILA compatibility, similar to processor upgrades using ISA compatibility.
Journal Article•10.1145/3282444•
Instruction-Level Abstraction (ILA): A Uniform Specification for System-on-Chip (SoC) Verification

[...]

Bo-Yuan Huang1, Hongce Zhang1, Pramod Subramanyan2, Yakir Vizel3, Aarti Gupta1, Sharad Malik1 •
Princeton University1, Indian Institute of Technology Kanpur2, Technion – Israel Institute of Technology3
21 Dec 2018-ACM Transactions on Design Automation of Electronic Systems
TL;DR: This article formalizes the concept of an Instruction Level Abstraction (ILA), developed informally in previous work, and shows its application in modeling and verification of accelerators.
Abstract: Modern Systems-on-Chip (SoC) designs are increasingly heterogeneous and contain specialized semi-programmable accelerators in addition to programmable processors. In contrast to the pre-accelerator era, when the ISA played an important role in verification by enabling a clean separation of concerns between software and hardware, verification of these “accelerator-rich” SoCs presents new challenges. From the perspective of hardware designers, there is a lack of a common framework for formal functional specification of accelerator behavior. From the perspective of software developers, there exists no unified framework for reasoning about software/hardware interactions of programs that interact with accelerators.This article addresses these challenges by providing a formal specification and high-level abstraction for accelerator functional behavior. It formalizes the concept of an Instruction Level Abstraction (ILA), developed informally in our previous work, and shows its application in modeling and verification of accelerators. This formal ILA extends the familiar notion of instructions to accelerators and provides a uniform, modular, and hierarchical abstraction for modeling software-visible behavior of both accelerators and programmable processors. We demonstrate the applicability of the ILA through several case studies of accelerators (for image processing, machine learning, and cryptography), and a general-purpose processor (RISC-V). We show how the ILA model facilitates equivalence checking between two ILAs, and between an ILA and its hardware finite-state machine (FSM) implementation. Further, this equivalence checking supports accelerator upgrades using the notion of ILA compatibility, similar to processor upgrades using ISA compatibility.
Journal Article•10.1145/3290386•
FrAngel: Component-Based Synthesis with Control Structures.

[...]

Kensen Shi1, Jacob Steinhardt1, Percy Liang1•
Stanford University1
13 Nov 2018-arXiv: Programming Languages
TL;DR: FrAngel is a new approach to component-based synthesis that can synthesize short Java functions with control structures when given a desired signature, a set of input-output examples, and a collection of libraries (without formal specifications).
Abstract: In component-based program synthesis, the synthesizer generates a program given a library of components (functions). Existing component-based synthesizers have difficulty synthesizing loops and other control structures, and they often require formal specifications of the components, which can be expensive to generate. We present FrAngel, a new approach to component-based synthesis that can synthesize short Java functions with control structures when given a desired signature, a set of input-output examples, and a collection of libraries (without formal specifications). FrAngel aims to discover programs with many distinct behaviors by combining two main ideas. First, it mines code fragments from partially-successful programs that only pass some of the examples. These extracted fragments are often useful for synthesis due to a property that we call special-case similarity. Second, FrAngel uses angelic conditions as placeholders for control structure conditions and optimistically evaluates the resulting program sketches. Angelic conditions decompose the synthesis process: FrAngel first finds promising partial programs and later fills in their missing conditions. We demonstrate that FrAngel can synthesize a variety of interesting programs with combinations of control structures within seconds, significantly outperforming prior state-of-the-art.
Journal Article•10.1049/IET-SEN.2017.0313•
Technique for representing requirements using personas: a controlled experiment

[...]

Bruna Ferreira1, Williamson Silva1, Simone Diniz Junqueira Barbosa2, Tayana Conte1•
Federal University of Amazonas1, Pontifical Catholic University of Rio de Janeiro2
01 Jun 2018-IET Software
TL;DR: The authors proposed the PATHY technique to guide software engineers in creating and describing more useful personas, i.e. personas with information that is more relevant to the application design.
Abstract: Understanding the users' needs is important for designing an application that provides a good usage experience. One can use design thinking (DT) to help identify those needs. Persona is a technique used in DT to support the requirements elicitation by describing user profiles. Nevertheless, the persona descriptions created using a traditional template may include many details about the users that are not relevant to the application design. To overcome this limitation, the authors proposed the PATHY technique to guide software engineers in creating and describing more useful personas, i.e. personas with information that is more relevant to the application design. They conducted an experiment to compare PATHY to another persona-based technique which uses a traditional template and also supports the representation of the application's requirements. In this study, they assessed which of the two techniques helps to generate descriptions of personas that are more focused on potential requirements to consider in the design of the application. In addition, they analysed the efficiency of the techniques and the participants' perception of use. The results showed that PATHY generated more relevant characteristics for the application design than the technique that follows the traditional description. The PATHY was also more efficient for creating personas.
Proceedings Article•10.1109/RE.2018.00036•
Towards Development of Complete and Conflict-Free Requirements

[...]

Abha Moitra1, Kit Siu1, Andrew Crapo1, Harsh Raju Chamarthi2, Michael Richard Durling1, Meng Li1, Han Yu1, Panagiotis Manolios2, Michael Meiners3 •
General Electric1, Northeastern University2, GE Aviation Systems3
1 Aug 2018
TL;DR: This work introduces a tool called ASSERT (Analysis of Semantic Specifications and Efficient generation of Requirements-based Tests) for capturing requirements, backed by a formal requirements analysis engine, and provides explainable and automated formal analysis, something important for a tool's adoptability in industry.
Abstract: Writing requirements is no easy task. Common problems include ambiguity in statements, specifications at the wrong level of abstraction, statements with inconsistent references to types, conflicting requirements, and incomplete requirements. These pitfalls lead to errors being introduced early in the design process. The longer the gap between error introduction and error discovery, the higher the cost associated with the error. To address the growing cost of system development, we introduce a tool called ASSERT" (Analysis of Semantic Specifications and Efficient generation of Requirements-based Tests) for capturing requirements, backed by a formal requirements analysis engine. ASSERT" also automatically generates a complete set of requirements-based test cases. Capturing requirements in an unambiguous way and then formally analyzing them with an automated theorem prover eliminates errors as soon as requirements are written. It also addresses the historical problem that analysis engines are hard to use for someone without formal methods expertise and analysis results are often difficult for the end-user to understand and make actionable. ASSERT"'s major contribution is to bring powerful requirements capture and analysis capability to the domain of the end-user. We provide explainable and automated formal analysis, something we found important for a tool's adoptability in industry.
Journal Article•10.1007/S13272-018-0307-2•
CMDOWS: a proposed new standard to store and exchange MDO systems

[...]

I. van Gent1, G. La Rocca1, M.F.M. Hoogreef1•
Delft University of Technology1
23 May 2018-CEAS Aeronautical Journal
TL;DR: It was concluded that the current version of CMDOWS already provides a robust standard to store and exchange MDO systems, and the schema will be extended to meet future developments and promote its adoption as a recognized standard in the broader MDO community.
Abstract: This paper proposes a new format to store and exchange multidisciplinary design optimization (MDO) systems. Here, the generic term MDO system refers to the set of disciplinary tools, their exchanged data and process connections that, all together, define an MDO computational setup. In the process leading to the formal specification of such a computational system, the set of tools, data and connections evolves, until a complete MDO system formulation (not executable) is reached. The proposed open-source standard, called CMDOWS (Common MDO Workflow Schema), has been developed to support this process. The key aspect of the format is its neutral XML-based data representation, making any stored MDO system exchangeable between the design team members and applications (e.g., tool repositories, visualization packages) developed to support the team in setting up the MDO system. This exchangeability is a key enabler for the creation of a versatile MDO framework. Furthermore, CMDOWS provides the starting point to translate any MDO system formulation into an execut-able workflow using a workflow platform of choice. To the authors’ knowledge, such an exchange format does currently not exist, notwithstanding the enormous potential it would have for the exploitation of large-scale MDO in industry. A case study demonstrating the use of CMDOWS is presented in this paper. It was concluded that the current version of CMDOWS already provides a robust standard to store and exchange MDO systems. The schema will be extended to meet future developments and promote its adoption as a recognized standard in the broader MDO community.
Journal Article•10.1109/TSE.2017.2712621•
A Formal Specification and Verification Framework for Timed Security Protocols

[...]

Li Li1, Jun Sun1, Yang Liu2, Meng Sun3, Jin Song Dong4 •
Singapore University of Technology and Design1, Nanyang Technological University2, Peking University3, National University of Singapore4
01 Aug 2018-IEEE Transactions on Software Engineering
TL;DR: A comprehensive analysis framework to formally specify as well as automatically verify timed security protocols and successfully find a previously unknown timing attack in Kerberos V.
Abstract: Nowadays, protocols often use time to provide better security. For instance, critical credentials are often associated with expiry dates in system designs. However, using time correctly in protocol design is challenging, due to the lack of time related formal specification and verification techniques. Thus, we propose a comprehensive analysis framework to formally specify as well as automatically verify timed security protocols. A parameterized method is introduced in our framework to handle timing parameters whose values cannot be decided in the protocol design stage. In this work, we first propose timed applied $\pi$ -calculus as a formal language for specifying timed security protocols. It supports modeling of continuous time as well as application of cryptographic functions. Then, we define its formal semantics based on timed logic rules , which facilitates efficient verification against various authentication and secrecy properties. Given a parameterized security protocol, our method either produces a constraint on the timing parameters which guarantees the security property satisfied by the protocol, or reports an attack that works for any parameter value. The correctness of our verification algorithm has been formally proved. We evaluate our framework with multiple timed and untimed security protocols and successfully find a previously unknown timing attack in Kerberos V.
Book Chapter•10.1007/978-3-319-89963-3_13•
TESTOR: A Modular Tool for On-the-Fly Conformance Test Case Generation

[...]

Lina Marsso1, Radu Mateescu1, Wendelin Serwe1•
University of Grenoble1
14 Apr 2018
TL;DR: TESTOR automatically generates test cases, which assess using black box testing techniques the conformance to the specification of a system under test, and enables a more flexible expression of test purposes, taking advantage of the multiway rendezvous.
Abstract: We present TESTOR, a tool for on-the-fly conformance test case generation, guided by test purposes. Concretely, given a formal specification of a system and a test purpose, TESTOR automatically generates test cases, which assess using black box testing techniques the conformance to the specification of a system under test. In this context, a test purpose describes the goal states to be reached by the test and enables one to indicate parts of the specification that should be ignored during the testing process. Compared to the existing tool TGV, TESTOR has a more modular architecture, based on generic graph transformation components, is capable of extracting a test case completely on the fly, and enables a more flexible expression of test purposes, taking advantage of the multiway rendezvous. TESTOR has been implemented on top of the CADP verification toolbox, evaluated on three published case-studies and more than 10000 examples taken from the non-regression test suites of CADP.
Journal Article•10.4108/EAI.20-3-2018.154370•
Fine-Grained Access Control for Smart Healthcare Systems in the Internet of Things

[...]

Shantanu Pal, Michael Hitchens, Vijay Varadharajan, Tahiry M. Rabehaja
20 Mar 2018
TL;DR: This paper proposes a novel access control architecture which improves policy management by reducing the required number of authentication policies in a large-scale healthcare system while providing fine-grained access control.
Abstract: There has been tremendous growth in the application of the Internet of Things (IoT) in our daily lives. Yet with this growth has come numerous security concerns and privacy challenges for both the users and the systems. Smart devices have many uses in a healthcare system, e.g. collecting and reporting patient data and controlling the administration of treatment. In this paper, we address the specific security issue of access control for smart healthcare systems and the protection of smart things from unauthorised access in such large scale systems. Commonly used access control approaches e.g. Role-Based Access Control (RBAC), Attribute-Based Access Control (ABAC) and Capability-Based Access Control (CapBAC) do not, in isolation, provide a complete solution for securing access to IoT-enabled smart healthcare devices. They may, for example, require an overly-centralised solution or an unmanageably large policy base. We propose a novel access control architecture which improves policy management by reducing the required number of authentication policies in a large-scale healthcare system while providing fine-grained access control. The devised access control model employs attributes, roles and capabilities. We apply attributes for role membership assignment and in permission evaluation. Membership of roles grants capabilities. The capabilities which are issued may be parameterised based on attributes of the user and are then used to access specific services provided by things. We also provide a formal specification of the model and a description of its implementation and demonstrate its application through dierent use-case scenarios. The evaluation results of core functionality of our architecture are provided with the practical testbed experiments.
Journal Article•10.1080/17517575.2018.1432769•
Extension of specification language for soundness and completeness of service workflow

[...]

Wattana Viriyasitavat1, Li Da Xu2, Zhuming Bi3, Assadaporn Sapsomboon1•
Chulalongkorn University1, Old Dominion University2, Indiana University – Purdue University Fort Wayne3
31 Jan 2018-Enterprise Information Systems
TL;DR: This paper proposes to formalize the specification language with the consideration of formal logic, so that some effective theorems can be derived for the verification of syntax, semantics, and inference rules in the workflow composition.
Abstract: A Service Workflow is an aggregation of distributed services to fulfill specific functionalities. With ever increasing available services, the methodologies for the selections of the services against the given requirements become main research subjects in multiple disciplines. A few of researchers have contributed to the formal specification languages and the methods for model checking; however, existing methods have the difficulties to tackle with the complexity of workflow compositions. In this paper, we propose to formalize the specification language to reduce the complexity of the workflow composition. To this end, we extend a specification language with the consideration of formal logic, so that some effective theorems can be derived for the verification of syntax, semantics, and inference rules in the workflow composition. The logic-based approach automates compliance checking effectively. The Service Workflow Specification (SWSpec) has been extended and formulated, and the soundness, comple...
Journal Article•10.1145/3208951•
Prove ite Inferring Formal Proof Scripts from CafeOBJ Proof Scores

[...]

Adrián Riesco1, Kazuhiro Ogata2•
Complutense University of Madrid1, Japan Advanced Institute of Science and Technology2
19 Jul 2018-ACM Transactions on Software Engineering and Methodology
TL;DR: The CiM PA and CiMPG are presented, detailing the behavior of the CiMPA and the algorithm underlying the Ci MPG and illustrating the power of the approach by using the QLOCK protocol.
Abstract: CafeOBJ is a language for writing formal specifications for a wide variety of software and hardware systems and for verifying their properties. CafeOBJ makes it possible to verify properties by using either proof scores, which consists of reducing goal-related terms in user-defined modules, or by using theorem proving. While the former is more flexible, it lacks the formal support to ensure that a property has been really proven. On the other hand, theorem proving might be too strict, since only a predefined set of commands can be applied to the current goal; hence, it hardens the verification of properties.In order to take advantage of the benefits of both techniques, we have extended CafeInMaude, a CafeOBJ interpreter implemented in Maude, with the CafeInMaude Proof Assistant (CiMPA) and the CafeInMaude Proof Generator (CiMPG). CiMPA is a proof assistant for proving inductive properties on CafeOBJ specifications that uses Maude metalevel features to allow programmers to create and manipulate CiMPA proofs. On the other hand, CiMPG provides a minimal set of annotations for identifying proof scores and generating CiMPA scripts for these proof scores. In this article, we present the CiMPA and CiMPG, detailing the behavior of the CiMPA and the algorithm underlying the CiMPG and illustrating the power of the approach by using the QLOCK protocol. Finally, we present some benchmarks that give us confidence in the matureness and usefulness of these tools.
Book Chapter•10.1007/978-3-319-91271-4_21•
Validating the Hybrid ERTMS/ETCS Level 3 Concept with Electrum

[...]

Alcino Cunha1, Nuno Macedo1•
University of Minho1
5 Jun 2018
TL;DR: In this paper, a formal model for the Hybrid ERTMS/ETCS Level 3 concept in Electrum, a lightweight formal specification language that extends Alloy with mutable relations and temporal logic operators, is presented.
Abstract: This paper reports on the development of a formal model for the Hybrid ERTMS/ETCS Level 3 concept in Electrum, a lightweight formal specification language that extends Alloy with mutable relations and temporal logic operators. We show how Electrum and its Analyzer can be used to perform scenario exploration to validate this model, namely to check that all the example operational scenarios described in the reference document are admissible, and to reason about expected safety properties, which can be easily specified and model checked for arbitrary track configurations. The Analyzer depicts scenarios (and counter-examples) in a graphical notation that is logic-agnostic, making them understandable for stakeholders without expertise in formal specification.
Proceedings Article•10.1109/FIT.2018.00062•
Security Requirements Engineering: A Framework for Cyber-Physical Systems

[...]

Shafiq Ur Rehman1, Christopher Allgaier, Volker Gruhn1•
University of Duisburg-Essen1
1 Dec 2018
TL;DR: The proposed CPS framework is a good start to focus greater attention on this important aspect of CPS and great support to the research community.
Abstract: Cyber-physical systems (CPS) are complex evolution of classical software systems. These systems integrate the physical layer with software systems, generating the ability for software developers to complete large tasks by combining new aspects of CPS with old design philosophies. These systems offer great potential for many new features and advantages. On the other hand, CPS involves security risks. Many new attack scenarios are made possible by an unsecured and uncharted physical layer. In this paper, we analysed four security requirements engineering methods for software development (UMLsec, CLASP, SQUARE, SREP). The best aspects of these methods are combined and special CPS security parameters are inserted. The main contribution of this research is to develop a security requirements engineering framework for cyber-physical systems. The result is a new methodology designed for the development of a secure CPS, called "CPS Framework". The proposed framework is an extension of SREP. Furthermore, the proposed framework is evaluated using a case study and compared to other most important security requirements methods. The promising results are shown in this paper. The achieving results contribute to assist in this research direction. The proposed CPS framework is a good start to focus greater attention on this important aspect of CPS and great support to the research community.
Proceedings Article•10.1109/FMEC.2018.8364042•
Formal definition of edge computing: An emphasis on mobile cloud and IoT composition

[...]

Charif Mahmoudi1, Fabrice Mourlin1, Abdella Battou2•
National Institute of Standards and Technology1, University of Paris-Est2
23 Apr 2018
TL;DR: This paper provides a formal specification of the Mobile cloud component using the n-calculus, and presents a case studies showing the structural congruence between a locally executed application and an offloaded version of that same application.
Abstract: Under the Edge computing umbrella, mobile cloud computing is an emerging area where two trends come together to compose its major pillars. On one hand, the virtualization affecting the data centers hypervisors. On the other hand, device's mobility, especially Smart Phones, which proved to be the most effective and convenient tools in human life. This emerging area is then changing the game in terms of mobility of workspaces and the interaction with the connected devices and sensors. This paper provides a formal specification of the Mobile cloud component using the n-calculus. The proposed model defines the mobile cloud component, the virtual device representation, and interaction that leads to application offloading and device composition. This paper describe our contribution that enables the composition of virtual devices from physical devices, sensors, and actuators available on the network. Moreover, we present a model of application offloading and virtual devices networking on mobile clouds. Our architectural model is inspired from the Cloudlet based system. In addition to the formal specifications and architecture this paper presents a case studies showing the structural congruence between a locally executed application and an offloaded version of that same application.
Proceedings Article•10.1109/FIT.2018.00009•
Modelling of Graph-Based Smart Parking System Using Internet of Things

[...]

Saba Latif1, Hamra Afzaal1, Nazir Ahmad Zafar1•
COMSATS Institute of Information Technology1
1 Dec 2018
TL;DR: This paper has proposed smart parking system using Formal Methods and graph theory with the proof of concept, which is an important component of a smart city.
Abstract: Internet of Things (IoT) is a collection of smart objects which communicate with each other within a network. IoT is everything which is connected to the internet to send and receive information. There are many application areas of IoT such as smart cities which include offices, homes, buildings, transportation and sewerage systems. Smart cities are an automation of real-world systems having sensing devices, actuator and other nodes interconnected within a network. Many researchers have proposed different solutions for modelling of smart cities but there is a need of proper validation and verification of such models. In this paper, we have proposed smart parking system using Formal Methods and graph theory with the proof of concept, which is an important component of a smart city. Parking topology is represented by a graph in terms of nodes to denote parking areas, passage, entrance and exit places. The connectivity of two places is represented by directional and bidirectional ways in terms of edges of a graph. The graph-based model is used for various types of operations such as searching empty places and finding shortest paths for parking of a car and exit procedures. Graph theory is used because of its usefulness as data structure and algorithmic power. Further, graph-based model can easily be transformed into a formal model. Vienna Development Method-Specification Language (VDM-SL) is used to describe formal specification and proof of correctness is provided using VDM-SL toolbox.
Book Chapter•10.1007/978-3-319-19249-9_30•
Model-based problem solving for university timetable validation and improvement

[...]

David Schneider1, Michael Leuschel1, Tobias Witt1•
University of Düsseldorf1
24 Jul 2018
TL;DR: This paper reports on an ongoing project to build a formal model-based curriculum timetable validation tool where a formal specification as the basis to validate timetables from a student’s perspective and to support incremental modification of timetables.
Abstract: Constraint satisfaction problems can be expressed very elegantly in state-based formal methods such as B. However, can such specifications be directly used for solving real-life problems? We will try and answer this question in the present paper with regard to the university timetabling problem. We report on an ongoing project to build a formal model-based curriculum timetable validation tool where we use a formal specification as the basis to validate timetables from a student’s perspective and to support incremental modification of timetables. In this article we focus on expressing the problem domain, the formalization in B and our approach to execute the formal model in a production system using ProB.
Book Chapter•10.1007/978-3-319-99154-2_13•
Model Checking for Safe Navigation Among Humans

[...]

Sebastian Junges1, Nils Jansen2, Joost-Pieter Katoen1, Ufuk Topcu3, Ruohan Zhang3, Mary Hayhoe3 •
RWTH Aachen University1, Radboud University Nijmegen2, University of Texas at Austin3
4 Sep 2018
TL;DR: This work describes a method to translate behaviour models obtained from reinforcement learning into Markov decision processes (MDPs), and the composition of these MDPs with models for (controllable) autonomous systems gives rise to stochastic games (SGs).
Abstract: We investigate the use of probabilistic model checking to synthesise optimal strategies for autonomous systems that operate among uncontrollable agents such as humans. To formally assess such uncontrollable behaviour, we use models obtained from reinforcement learning. These behaviour models are, e.g., based on data collected in experiments in which humans execute dynamic tasks in a virtual environment. We first describe a method to translate such behaviour models into Markov decision processes (MDPs). The composition of these MDPs with models for (controllable) autonomous systems gives rise to stochastic games (SGs). MDPs and SGs are amenable to probabilistic model checking which enables the synthesis of strategies that provably adhere to formal specifications such as probabilistic temporal logic constraints. Experiments with a prototype provide (1) systematic insights on the credibility and the characteristics of behavioural models and (2) methods for automated synthesis of strategies satisfying guarantees on their required characteristics in the presence of humans.
Book Chapter•10.1007/978-3-319-92970-5_4•
Bridging the Gap Between Informal Requirements and Formal Specifications Using Model Federation

[...]

Fahad Rafique Golra1, Fabien Dagnat, Jeanine Souquières1, Imen Sayar1, Sylvain Guérin •
University of Lorraine1
27 Jun 2018
TL;DR: This work aims to bridge the gap through a fine-grained level of traceability between the client-side informal requirements document to the developer-side formal specifications using a semi-formal modeling technique, model federation.
Abstract: Software development projects seeking a high level of accuracy reach out to formal methods as early as the requirements engineering phase. However the client perspective of the future system is presented in an informal requirements document. The gap between the formal and informal approaches (and the artifacts used and produced by them) adds further complexity to an already rigorous task of software development. Our goal is to bridge this gap through a fine-grained level of traceability between the client-side informal requirements document to the developer-side formal specifications using a semi-formal modeling technique, model federation. Such a level of traceability can be exploited by the requirements engineering process for performing different actions that involve either or both these informal and formal artifacts. The effort and time consumed in developing such a level of traceability pays back in the later phases of a development project. For example, one can accurately narrow down the requirements responsible for an inconsistency in proof obligations during the analysis phase. We illustrate our approach using a running example from a landing gear system case study.
Proceedings Article•10.1109/CLOUD.2018.00053•
Specifying Semantic Interoperability between Heterogeneous Cloud Resources with the FCLOUDS Formal Language

[...]

Stéphanie Challita1, Faiez Zalila1, Philippe Merle1•
Lille University of Science and Technology1
2 Jul 2018
TL;DR: This paper proposes to take advantage of the OCCI standard and the Alloy formal specification language to define the fclouds language, which is a formal language for specifying heterogeneous cloud APIs, which promotes semantic interoperability in a multi-cloud system.
Abstract: With the advent of cloud computing, different cloud providers with heterogeneous services and Application Programming Interfaces (APIs) have emerged. Hence, building an interoperable multi-cloud system becomes a complex task. Our idea is to design fclouds framework to achieve semantic interoperability in multi-clouds, i.e., to identify the common concepts between cloud APIs and to reason over them. In this paper, we propose to take advantage of the Open Cloud Computing Interface (OCCI) standard and the Alloy formal specification language to define the fclouds language, which is a formal language for specifying heterogeneous cloud APIs. To do so, we formalize OCCI concepts and operational semantics, then we identify and validate five properties (consistency, sequentiality, reversibility, idempotence and safety) that denote their characteristics. To demonstrate the effectiveness of our cloud formal language, we present thirteen case studies where we formally specify infrastructure, platform, Internet of Things (IoT) and transverse cloud concerns. Thanks to the Alloy analyzer, we verify that these heterogeneous APIs uphold the properties of fclouds and also validate their own specific properties. Then, thanks to formal transformation rules and equivalence properties, we draw a precise alignment between our case studies, which promotes semantic interoperability in a multi-cloud system.
...

Tools

SciSpace AgentBiomedical AgentSciSpace RecruitSciSpace for EnterpriseAgent GalleryChat with PDFLiterature ReviewAI WriterFind TopicsParaphraserCitation GeneratorExtract DataAI DetectorCitation Booster

Learn

ResourcesLive Workshops

SciSpace

CareersSupportBrowse PapersPricingSciSpace Affiliate ProgramCancellation & Refund PolicyTermsPrivacyData Sources

Directories

PapersTopicsJournalsAuthorsConferencesInstitutionsCitation StylesWriting templates

Extension & Apps

SciSpace Chrome ExtensionSciSpace Mobile App

Contact

support@scispace.com
SciSpace

© 2026 | PubGenius Inc. | Suite # 217 691 S Milpitas Blvd Milpitas CA 95035, USA

soc2
Secured by Delve