3 research outputs found

    Model-Driven Trace Diagnostics for Pattern-based Temporal Specifications

    Get PDF
    Offline trace checking tools check whether a specification holds on a log of events recorded at run time; they yield a verification verdict (typically a boolean value) when the checking process ends. When the verdict is false, a software engineer needs to diagnose the property violations found in the trace in order to understand their cause and, if needed, decide for corrective actions to be performed on the system. However, a boolean verdict may not be informative enough to perform trace diagnostics, since it does not provide any useful information about the cause of the violation and because a property can be violated for multiple reasons. The goal of this paper is to provide a practical and scalable so- lution to solve the trace diagnostics problem, in the settings of model-driven trace checking of temporal properties expressed in TemPsy, a pattern-based specification language. The main contributions of the paper are: a model-driven approach for trace diagnostics of pattern-based temporal properties expressed in TemPsy, which relies on the evaluation of OCL queries on an instance of a trace meta-model; the implementation of this trace diagnostics procedure in the TemPsy-Report tool; the evaluation of the scalability of TemPsy-Report, when used for the diagnostics of violations of real properties derived from a case study of our industrial partner. The results show that TemPsy-Report is able to collect diagnostic information from large traces (with one million events) in less than ten seconds; TemPsy-Report scales linearly with respect to the length of the trace and keeps approximately constant performance as the number of violations increases

    Trace-Checking CPS Properties: Bridging the Cyber-Physical Gap

    Get PDF
    Cyber-physical systems combine software and physical components. Specification-driven trace-checking tools for CPS usually provide users with a specification language to express the requirements of interest, and an automatic procedure to check whether these requirements hold on the execution traces of a CPS. Although there exist several specification languages for CPS, they are often not sufficiently expressive to allow the specification of complex CPS properties related to the software and the physical components and their interactions. In this paper, we propose (i) the Hybrid Logic of Signals (HLS), a logic-based language that allows the specification of complex CPS requirements, and (ii) ThEodorE, an efficient SMT-based trace-checking procedure. This procedure reduces the problem of checking a CPS requirement over an execution trace, to checking the satisfiability of an SMT formula. We evaluated our contributions by using a representative industrial case study in the satellite domain. We assessed the expressiveness of HLS by considering 212 requirements of our case study. HLS could express all the 212 requirements. We also assessed the applicability of ThEodorE by running the trace-checking procedure for 747 trace-requirement combinations. ThEodorE was able to produce a verdict in 74.5% of the cases. Finally, we compared HLS and ThEodorE with other specification languages and trace-checking tools from the literature. Our results show that, from a practical standpoint, our approach offers a better trade-off between expressiveness and performance

    TemPsy-Report

    No full text
    <p>TemPsy-Report is a software program that performs model-driven trace diagnostics of <em>TemPsy</em> properties. It is published at <a href="https://doi.org/10.6084/m9.figshare.6797171.v1" rel="nofollow">https://doi.org/10.6084/m9.figshare.6797171</a> as an Eclipse project with the <a href="http://www.apache.org/licenses/LICENSE-2.0" rel="nofollow">Apache 2.0 license</a>. The program was developed by <a href="https://github.com/weidou">Wei Dou</a> during his PhD research at the <a href="http://www.svv.lu/" rel="nofollow">SVV lab</a> of the <a href="http://wwwen.uni.lu/" rel="nofollow">University of Luxembourg</a>. More information about TemPsy-Report can be found in this paper:</p><blockquote><p>Wei Dou, Domenico Bianculli, and Lionel Briand. Model-Driven Trace Diagnostics for Pattern-based Temporal Specifications. MODELS 2018</p></blockquote><p><em>TemPsy</em> (Temporal Property Made Easy) is a domain specific language based on <a href="http://www.omg.org/spec/OCL" rel="nofollow">OCL</a> (Object Constraint Language) which allows users to express temporal properties using <a href="http://patterns.projects.cis.ksu.edu/" rel="nofollow">property specification patterns</a>. <em>TemPsy</em> is a revised language of <em>OCLR</em>, which has been introduced in this paper:</p><blockquote><p>Wei Dou, Domenico Bianculli, and Lionel Briand. OCLR: a more expressive, pattern-based temporal extension of OCL. In Proceedings of the 2014 European Conference on Modelling Foundations and Applications (ECMFA 2014), York, United Kingdom, volume 8569 of Lecture Notes in Computer Science, pages 51-66. Springer, July 2014. Available online at <a href="http://dx.doi.org/10.1007/978-3-319-09195-2_4" rel="nofollow">http://dx.doi.org/10.1007/978-3-319-09195-2_4</a></p></blockquote><h2><a href="https://github.com/modelsconf2018/artifact-evaluation/blob/master/dou/README.md#requirements"></a>Requirements</h2><ul><li>Mac OS X / Linux</li><li>Java 1.7+</li><li><a href="http://www.eclipse.org/downloads/packages/eclipse-ide-java-and-dsl-developers/neonm3" rel="nofollow">Eclipse DSL Tools v. 4.6.0M3</a>+,</li><li><a rel="nofollow">Eclipse OCL 6.0.1</a>+</li></ul><h2><a href="https://github.com/modelsconf2018/artifact-evaluation/blob/master/dou/README.md#usage-of-tempsy-report"></a>Usage of TemPsy-Report</h2><ul><li>Import this Eclipse project</li><li>Generate traces using <em>inputs/traces/trace_generator.sh (details can be found in README.md)</em></li><li>Run <code>lu.svv.offline.main.Main</code></li></ul
    corecore