73 research outputs found

    Run-Time Verification of Black-Box Components Using Behavioral Specifications: An Experience Report on Tool Development

    Get PDF
    We introduce a generic component-based design of a run-time checker, identify its components and their requirements, and evaluate existing state of the art tools instantiating each component

    JSExplain: a double debugger for JavaScript

    Get PDF
    We present JSExplain, a reference interpreter for JavaScript that closely follows the specification and that produces execution traces. These traces may be interactively investigated in a browser, with an interface that displays not only the code and the state of the interpreter, but also the code and the state of the interpreted program. Conditional breakpoints may be expressed with respect to both the interpreter and the interpreted program. In that respect, JSExplain is a double-debugger for the specification of JavaScript

    Towards Generalizing Visual Process Patterns

    Get PDF
    Visual Process Patterns (VPP) is a visual language to describe constraints on the behavior of UML Activities. They have been developed for the sake of formulating and verifying requirements on business process models in a visual, intuitive way (with UML Activities being one possible description language). In the VPP approach, a visual process pattern is translated into an LTL formula, which can then be verified against a transition system describing the behavior of the Activity under consideration. In this paper, we aim at generalizing VPP. We show how to formulate patterns more generally, using an enhanced version of the concrete syntax of the behavioral model under consideration. Additionally, we describe how these more general patterns can be verified against a modelâs behavior

    Run-Time Assertion Checking of Data- and Protocol-Oriented Properties of Java Programs: An Industrial Case Study

    Get PDF
    Run-time assertion checking is one of the useful techniques for detecting faults, and can be applied during any program execution context, including debugging, testing, and production. In general, however, it is limited to checking state-based properties. We introduce SAGA, a general framework that provides a smooth integration of the specification and the run-time checking of both data- and protocol-oriented properties of Java classes and interfaces. We evaluate SAGA, which combines several state-of-the art tools, by conducting an industrial case study from an eCommerce software company Fredhopper

    Run-Time Verification of Black-Box Components Using Behavioral Specifications: An Experience Report on Tool Development

    Full text link
    htmlabstractWe introduce a generic component-based design of a run-time checker, identify its components and their requirements, and evaluate existing state of the art tools instantiating each component

    Combining Monitoring with Run-Time Assertion Checking

    Get PDF
    According to a study in 2002 commissioned by a US Department, software bugs annually costs the US economy an estimated 59billion.Amorerecentstudyin2013byCambridgeUniversityestimatedthattheglobalcosthasrisento59 billion. A more recent study in 2013 by Cambridge University estimated that the global cost has risen to 312 billion globally. There exists various ways to prevent, isolate and fix software bugs, ranging from lightweight methods that are (semi)-automatic, to heavyweight methods that require significant user interaction. Our own method described in this tutorial is based on automated run-time checking of a combination of protocol- and data-oriented properties of object-oriented programs

    Enhancing Formal Modelling Tool Support with Increased Automation

    Get PDF
    Progress report for the qualification exam report for PhD Student Kenneth Lausdahl. Initial work on enhancing tool support for the formal method VDM and the concept of unifying a abstract syntax tree with the ability for isolated extensions is described. The tool support includes a connection to UML and a test automation principle based on traces written as a kind of regular expressions

    Run-Time Assertion Checking of Data- and Protocol-Oriented Properties of Java Programs: An Industrial Case Study

    Full text link
    htmlabstractRun-time assertion checking is one of the useful techniques for detecting faults, and can be applied during any program execution context, including debugging, testing, and production. In general, however, it is limited to checking state-based properties. We introduce SAGA, a general framework that provides a smooth integration of the specification and the run-time checking of both data- and protocol-oriented properties of Java classes and interfaces. We evaluate SAGA, which combines several state-of-the art tools, by conducting an industrial case study from an eCommerce software company Fredhopper

    Visualization/animation of programs based on abstract representations and formal mappings

    Get PDF
    In the context of Alma (a system for program visualization and algorithm animation), we use an internal representation-based on the concept of an attributed abstract syntax tree decorated with attribute values, a DAST-to associate (static) figures to grammar rules (productions) and to step over program dynamics executing state changes in order to perform its animation. We do not rely upon any source program annotations (visual/animation statements, or parameters), neither on any special visual data types. On account of such principle, the approach becomes source language independent. It means that we can apply the same visualizer and animator, that is the Alma's back-end, to different programming languages; all that we need is different front-ends to parse each program into the DAST we use. In this paper we discuss Alma design goals and architecture, and we present the two mappings that associate to productions figures and rewriting rules to systematically draw a visual representation (exhibiting data and control flow) of a given source program and to animate its execution.FC
    corecore