5 research outputs found

    Formal Verification with Confidence Intervals to Establish Quality of Service Properties of Software Systems

    Get PDF
    Formal verification is used to establish the compliance of software and hardware systems with important classes of requirements. System compliance with functional requirements is frequently analyzed using techniques such as model checking, and theorem proving. In addition, a technique called quantitative verification supports the analysis of the reliability, performance, and other quality-of-service (QoS) properties of systems that exhibit stochastic behavior. In this paper, we extend the applicability of quantitative verification to the common scenario when the probabilities of transition between some or all states of the Markov models analyzed by the technique are unknown, but observations of these transitions are available. To this end, we introduce a theoretical framework, and a tool chain that establish confidence intervals for the QoS properties of a software system modelled as a Markov chain with uncertain transition probabilities. We use two case studies from different application domains to assess the effectiveness of the new quantitative verification technique. Our experiments show that disregarding the above source of uncertainty may significantly affect the accuracy of the verification results, leading to wrong decisions, and low-quality software systems

    Devices for safety-critical molecular programmed systems

    Get PDF
    The behavior of matter at the molecular level can be programmed to create nanoscale molecular components that accomplish desired tasks. Many molecular components are developed with intended uses that are safety-critical, such as medical applications. Ensuring the correctness and fault tolerance of such devices is paramount. Techniques to develop robustly correct programs have been widely studied in software systems and many devices have been constructed to aid in the safe operation of systems. We seek to demonstrate the effectiveness of software and safety engineering techniques in the molecular programming domain. In this thesis, we present the design of five new devices to aid in the development of safetycritical molecular programmed systems. We introduce a Runtime Fault Detection device (RFD) to robustly detect faults and initiate recovery actions in response to a failed system. We present the Concentration Monitor, a device that can detect changes, major and minor, in concentrations in real-time and demonstrate its utility. We also describe methods for constructing chemical reaction networks that can robustly simulate any combinational logic gate. Finally, we present two devices to log the state of a molecular program, where the first device logs a state upon receiving a request, and the second device ensures that the current state meets a defined validity property before allowing a log to be taken. All devices have been formally verified using model checking, simulations, or formal proof techniques. The methods used to construct and verify these devices can be adapted to the design of future molecular systems to assist in ensuring their correctness

    Asymptotic bounds for quantitative verification of perturbed probabilistic systems

    No full text
    10.1007/978-3-642-41202-8_20Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)8144 LNCS297-31
    corecore