<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta>
      <journal-title-group>
        <journal-title>Workshop on Artificial Intelligence and Formal Verification, Logics, Automata and Synthesis (OVERLAY),
Rende, Italy, November</journal-title>
      </journal-title-group>
    </journal-meta>
    <article-meta>
      <title-group>
        <article-title>Pairing Monitoring with Machine Learning for Smart System Verification and Predictive Maintenance</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Andrea Brunello</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Dario Della Monica</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Angelo Montanari</string-name>
          <email>3angelo.montanari@uniud.it</email>
        </contrib>
      </contrib-group>
      <pub-date>
        <year>2019</year>
      </pub-date>
      <volume>1</volume>
      <fpage>9</fpage>
      <lpage>20</lpage>
      <abstract>
        <p>Over the last decades, the advancements in microelectronic technologies allowed for the embedding of complex digital sensors in several systems, ranging from home appliances to health tracking devices and industrial plant machinery. The resulting systems are, in general, quite complex, given the possible heterogeneity of their components and the non-trivial ways in which sensors may interact. In critical domains, formal methods have been employed to ensure the correct behaviour of a system. However, a complete specification of all the properties that have to be guaranteed turns out to be often out of reach, due to the inherent complexity of the system and of its interactions with the environment in which it operates. To overcome these limitations, some approaches that complement formal verification with model-based testing and monitoring have been recently proposed. In this paper, we argue for the opportunity of pairing monitoring with machine learning techniques in order to improve its ability of detecting critical system behaviours.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>
        Over the last decades, thanks to new microelectronic technologies, even the simplest measuring devices
have progressively evolved into complex digital systems capable of performing several processing and
communication operations related to the measured values (smart sensors). A smart sensor can be defined
as a device that takes its input from the physical environment and uses built-in computational resources
to perform some predefined functions upon detection of specific input, thus processing data before passing
them on [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ]. Such devices may be used to set up monitoring and control mechanisms in a variety of
contexts, including smart grids [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ], and they have several applications in agriculture [
        <xref ref-type="bibr" rid="ref19">20</xref>
        ], health-care
[
        <xref ref-type="bibr" rid="ref12">12</xref>
        ], and industry [18]. As an example, one may think of an industrial plant, where the behaviour of all
the different subsystems and components is tracked by means of dedicated smart sensors embedded in the
machinery.
      </p>
      <p>
        In such a complex environment, formal methods can be exploited to devise methods and techniques for
the automated verification of software and hardware systems, a task which is of paramount importance
in many critical domains. However, the inherent complexity of the systems and the non-trivial ways in
which their components may interact among themselves and with the environment, make it very difficult
(and sometimes impossible) to specify in advance all the relevant properties that have to be guaranteed
(or, dually, avoided). To overcome these limitations, some approaches that complement formal verification
with model-based testing and monitoring have been recently proposed in the literature (see, for instance,
[
        <xref ref-type="bibr" rid="ref11 ref7">7, 11</xref>
        ]).
      </p>
      <p>In this contribution, we focus our attention on monitoring, a runtime verification technique which is
gaining more and more attention within the formal method and verification community. We outline a
novel framework for online system verification that integrates monitoring with machine learning and can
be applied in anomaly detection and predictive maintenance tasks. As we shall see, the proposed approach
allows a domain expert to start with the specification of the most important and natural properties to
monitor. Then, the framework autonomously discovers new relevant properties by means of an iterative
refinement process, becoming capable, over time, of identifying undesired behaviours in advance, with a
considerably higher level of detail and coverage than the original specification.</p>
      <p>This extended abstract is organized as follows. Section 2 provides a short introduction to the concept of
system monitoring. Section 3 deals with machine learning and, specifically, with pattern mining techniques
that may be used to analyze system traces to extract relevant properties. In section 4, we envision a
framework that combines system monitoring and machine learning. A short recap of the distinctive
features of the proposed approach concludes the extended abstract.
2</p>
    </sec>
    <sec id="sec-2">
      <title>System monitoring</title>
      <p>
        Monitoring [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ] is a runtime verification technique that is gaining much interest in the realm of formal
methods for automated system verification.
      </p>
      <p>
        Classic, static techniques, such as, for instance, model checking [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ], perform an exhaustive analysis of
the system: satisfaction or violation of a property (typically expressed by some temporal logic formula) by
the system is established by exploring all possible behaviours. On the contrary, monitoring allows one
to detect satisfaction or violation of a property by analyzing a single behaviour, called execution trace
or run, of the system. It is therefore a lightweight technique, but the gain in efficiency is paid in terms
of expressivity: monitorable properties are a subset of the class of specifications expressible in temporal
formalisms commonly used for automated verification.
      </p>
      <p>
        Even though monitoring has been mostly studied in the setting of linear time temporal logics [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ],
a notable effort has been devoted to the investigation of monitoring branching-time properties (see, for
instance, [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ]). A comparison of the two settings can be found in [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ].
      </p>
      <p>The basic principles on which monitors (and the theory of monitorability) are built are the ability of
reaching a verdict by just observing a finite prefix of a single execution trace (a finite trace) and the fact
that, once a verdict is reached, it is irrevocable, as it is a guarantee that the system satisfies or violates
the property, independently from all the other possible (unobserved) behaviours it might exhibit. This
latter feature ensures the soundness of a monitor. We introduce and discuss the notion of completeness of
a monitor below.</p>
      <p>We say that a property is positively monitorable if every system satisfying it features a finite trace that
witnesses the satisfaction; conversely, we say that a property is negatively monitorable if every system
violating it features a finite trace that witnesses the violation. A monitorable property is a property that
is either positively or negatively monitorable.</p>
      <p>Safety properties are negatively monitorable, as their violation is witnessed by a finite trace. Dually,
co-safety properties are positively monitorable. On the other hand, there exist properties like
it is possible to reach a success state, but it is not possible to reach it in less than 3 steps
which are neither positively nor negatively monitorable. A monitor observing a system execution trace
that is compatible with the property, e.g., a success state is reached at the third execution step, indeed,
cannot issue a satisfaction verdict, thus stating that the property is fulfilled by every run, as there might
be a run along which a success state is reached in less than 3 steps. Moreover, a system might violate
the property by never reaching a success state at all; in this case, no finite trace witnesses the violation,
as the success state might be reached at the next step, or through a completely different run.
Instead, the property</p>
      <p>it is not possible to reach a success state in less than 3 steps
is negatively monitorable, as every system violating it features a finite trace that reaches a success state
in less than 3 steps.</p>
      <p>Given a positively (resp., negatively) monitorable property P , we say that a monitor is
satisfactioncomplete (resp., violation-complete) for P if every system satisfying P features a finite trace that is
accepted (resp., rejected) by the monitor.</p>
      <p>
        It is clear that sound and complete monitors only exist for monitorable properties. Thus, characterizing
the set of monitorable properties is one of the major challenges in the field. However, some work has
also been done in the attempt of weakening the notion of monitorability (see [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] for an account of such a
research direction) or of extending the realm of applicability of such a technique to specifications that are
deemed not amenable to being runtime verified [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ].
3
      </p>
    </sec>
    <sec id="sec-3">
      <title>Pattern mining and machine learning</title>
      <p>Machine learning (ML) is an area of Artificial Intelligence (AI) that focuses on algorithms and statistical
models that have the ability to automatically learn (and improve their behaviour) from experience without
being explicitly programmed. In particular, in supervised machine learning, the goal is that of building a
model capable of mapping a given input to a desired output. Depending on the kind of output to generate,
it is possible to distinguish between regression and classification tasks, characterized by numerical and
categorical (classes) values, respectively.</p>
      <p>In order to learn a model, a machine learning algorithm undergoes a so-called training phase, during
which several examples (or instances) of the concept that has to be learnt are taken into consideration.
For each considered instance, both the input and the output variables are known. Once the model has
been built, it can be applied to new instances, for which only the input variables are known, in order to
predict the output values.</p>
      <p>Among supervised learning tasks, in this work we are mainly interested in pattern mining. In such
a setting, the input consists of a sequence of numerical (time series) or categorical (e.g., sequences of
system states) values, whereas the output is, typically, categorical. The goal is to extract a set of relevant
patterns from the input sequences, that characterize (and make it possible to distinguish among) instances
belonging to different classes.</p>
      <p>
        Patterns can be of different kinds. For lists of categorical values, frequent patterns have been investigated
(see, for instance, [
        <xref ref-type="bibr" rid="ref18 ref22 ref3">3, 19, 23</xref>
        ]). As for time series, shapelets have been defined as contiguous, arbitrary-length
time series subsequences which are in some sense maximally representative of a class [
        <xref ref-type="bibr" rid="ref21">22</xref>
        ]. A decision tree
algorithm which is able of dealing with both kinds of data at the same time has been recently proposed in
the literature [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ].
      </p>
      <p>
        As for a more formal characterization of a pattern, the task of learning temporal logic formulas from
examples is attracting an increasing interest. For instance, a decision tree learning algorithm which is
capable of generating interval temporal logic formulas from sequences of categorical values, in order to
perform a classification task, is described in [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ], while a technique to learn general, unrestricted linear
temporal logic (LTL) formulas from a set of examples in the form of infinite, ultimately periodic words,
without relying on user-defined templates, is illustrated in [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ]. Variants and extensions of the latter result
are considered in [
        <xref ref-type="bibr" rid="ref20 ref6">6, 21</xref>
        ]. More precisely, the case of LTL interpreted over finite traces is dealt with in [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ],
while parametric linear temporal logic (pLTL) is analyzed in [
        <xref ref-type="bibr" rid="ref20">21</xref>
        ].
4
      </p>
    </sec>
    <sec id="sec-4">
      <title>Integrating system monitoring and machine learning</title>
      <p>
        As it is emerging from the most recent literature in the field, machine and statistical learning solutions
can be successfully combined with formal methods techniques to deal with complex real-world problems
[
        <xref ref-type="bibr" rid="ref14">14</xref>
        ]. One challenging scenario is that of failure detection and predictive maintenance. As we have already
pointed out, formal methods allow one to synthesize monitors to check whether some good properties
(safety properties) are violated by a system during its operation and to detect those system’s behaviours
(traces) that violate them. In the following, we briefly outline a possible integration of monitoring and
machine learning, that can be decomposed into five main phases.
      </p>
      <p>Specification of the initial set of properties. Domain experts are asked to specify the most
significant properties that the system under consideration should exhibit. These properties are then
formalized in a suitable temporal logic and a monitor that checks them against execution traces is
synthesized (obviously, monitorability of the relevant formulas is a critical issue here).
Monitoring of system properties. The monitor checks whether the system satisfies/violates the
considered properties during its execution (monitoring).</p>
      <p>Detection of a failure. Traces for which the monitor reaches a verdict of failure are collected. These
are considered to be failure traces. In addition, traces generated by the system during previous normal
behaviour are extracted, and considered to be normal traces. Of course, the length of the time window
that is used to extract failure traces depends on the specific application domain, and it must be carefully
chosen according to the results of a dedicated tuning phase, possibly with the help of domain experts.
Mining of the relevant behaviour patterns. Failure and normal traces are put together to generate
a dataset for supervised machine learning. Each instance is characterized by a trace that can be numerical
(as in the case of a temperature signal) or categorical (this is the case, for instance, with a sequence of
system calls made in a Unix system). Moreover, each instance is labeled with a binary class, that can be
either failure or normal behaviour. Pattern mining algorithms are run on the dataset, with the goal of
extracting the (temporal) logic formulas that best characterize and discriminate between the two classes.
Extension of the pool of properties. The (temporal) logic formulas extracted during the mining
phase are added to the monitoring pool of properties (possibly after their transformation into safety
properties), and the process restarts from the monitoring phase.</p>
      <p>As it can be observed, the proposed framework works in an iterative way. It starts from a set of basic
properties, and new ones are then added over time. The discovered logical properties are closely related
to the original ones and, in principle, they should allow the system to discover anomalous behaviours
earlier and with ever increasing accuracy and coverage.
5</p>
    </sec>
    <sec id="sec-5">
      <title>Conclusions</title>
      <p>Thanks to the new microelectronic technology advancements, measuring devices can now be easily
transformed into complex digital systems capable of processing data, and of interacting with one another
and with the surrounding environment. As a result, their emerging behaviour is typically non trivial,
and difficult to formalize into a set of logical properties to be used for standard system verification, even
for a pool of domain experts. For such a reason, approaches that complement formal verification with
model-based testing and monitoring have been recently investigated in the literature.</p>
      <p>In this work, we outlined a possible solution to such a problem which integrates machine learning and
monitoring techniques. The proposed formal verification framework starts with the runtime verification of
the most important and natural properties that should be guaranteed during the execution of the analyzed
system. Then, it autonomously discovers new ones in an iterative way, becoming capable of identifying
unwanted behaviours earlier, and with ever higher detail and coverage than the original specification. In
the long run, the verification tool is expected to gain the ability of performing advanced tasks such as
self-diagnosis, predictive maintenance, adaptation, and robustness enhancement.</p>
      <p>A practical implementation of the system introduced here in the context of a real-world scenario
represents a natural development of the present work.
[18] S. Nihtianov and A. Luque. Smart Sensors and MEMS: Intelligent Sensing Devices and Microsystems
for Industrial Applications. Woodhead Publishing, 2018.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>L.</given-names>
            <surname>Aceto</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Achilleos</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Francalanza</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Ingólfsdóttir</surname>
          </string-name>
          , and
          <string-name>
            <given-names>K.</given-names>
            <surname>Lehtinen</surname>
          </string-name>
          .
          <article-title>Adventures in monitorability: from branching to linear time and back again</article-title>
          .
          <source>Proceedings of the ACM on Programming Languages</source>
          ,
          <volume>3</volume>
          (POPL):
          <volume>52</volume>
          :
          <fpage>1</fpage>
          -
          <lpage>52</lpage>
          :
          <fpage>29</fpage>
          ,
          <year>2019</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>L.</given-names>
            <surname>Aceto</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Achilleos</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Francalanza</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Ingólfsdóttir</surname>
          </string-name>
          , and
          <string-name>
            <given-names>K.</given-names>
            <surname>Lehtinen</surname>
          </string-name>
          .
          <article-title>An operational guide to monitorability</article-title>
          .
          <source>In Proceedings of the 17th International Conference on Software Engineering and Formal Methods (SEFM)</source>
          , volume
          <volume>11724</volume>
          of Lecture Notes in Computer Science, pages
          <fpage>433</fpage>
          -
          <lpage>453</lpage>
          . Springer,
          <year>2019</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>J.</given-names>
            <surname>Ayres</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Flannick</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Gehrke</surname>
          </string-name>
          , and
          <string-name>
            <given-names>T.</given-names>
            <surname>Yiu</surname>
          </string-name>
          .
          <article-title>Sequential pattern mining using a bitmap representation</article-title>
          .
          <source>In Proceedings of the 8th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining (KDD)</source>
          , pages
          <fpage>429</fpage>
          -
          <lpage>435</lpage>
          ,
          <year>2002</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>A.</given-names>
            <surname>Brunello</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E.</given-names>
            <surname>Marzano</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Montanari</surname>
          </string-name>
          , and
          <string-name>
            <surname>G. Sciavicco.</surname>
          </string-name>
          <article-title>J48SS: A novel decision tree approach for the handling of sequential and time series data</article-title>
          .
          <source>Computers</source>
          ,
          <volume>8</volume>
          (
          <issue>1</issue>
          ):
          <fpage>21</fpage>
          ,
          <year>2019</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>A.</given-names>
            <surname>Brunello</surname>
          </string-name>
          , G. Sciavicco,
          <string-name>
            <given-names>and I. E.</given-names>
            <surname>Stan</surname>
          </string-name>
          .
          <article-title>Interval temporal logic decision tree learning</article-title>
          .
          <source>In Proceedings of the 16th European Conference on Logics in Artificial Intelligence (JELIA)</source>
          , pages
          <fpage>778</fpage>
          -
          <lpage>793</lpage>
          ,
          <year>2019</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>A.</given-names>
            <surname>Camacho</surname>
          </string-name>
          and
          <string-name>
            <given-names>S. A.</given-names>
            <surname>McIlraith</surname>
          </string-name>
          .
          <article-title>Learning interpretable models expressed in linear temporal logic</article-title>
          .
          <source>In Proceedings of the 29th International Conference on Automated Planning and Scheduling (ICAPS)</source>
          , to be published,
          <year>2019</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>I.</given-names>
            <surname>Cassar</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Francalanza</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Aceto</surname>
          </string-name>
          ,
          <article-title>and</article-title>
          <string-name>
            <given-names>A.</given-names>
            <surname>Ingólfsdóttir</surname>
          </string-name>
          .
          <article-title>A survey of runtime monitoring instrumentation techniques</article-title>
          .
          <source>In Proceedings of the 2nd International Workshop on Pre- and Post-Deployment Verification Techniques (PrePost@iFM)</source>
          , pages
          <fpage>15</fpage>
          -
          <lpage>28</lpage>
          ,
          <year>2017</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>E. M.</given-names>
            <surname>Clarke</surname>
          </string-name>
          ,
          <string-name>
            <surname>Jr.</surname>
            ,
            <given-names>O.</given-names>
          </string-name>
          <string-name>
            <surname>Grumberg</surname>
            , and
            <given-names>D. A.</given-names>
          </string-name>
          <string-name>
            <surname>Peled</surname>
          </string-name>
          . Model Checking. MIT Press,
          <year>1999</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>A.</given-names>
            <surname>Francalanza</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Aceto</surname>
          </string-name>
          ,
          <article-title>and</article-title>
          <string-name>
            <given-names>A.</given-names>
            <surname>Ingolfsdottir</surname>
          </string-name>
          .
          <article-title>Monitorability for the Hennessy-Milner Logic with Recursion</article-title>
          .
          <source>Formal Methods in System Design</source>
          , pages
          <fpage>1</fpage>
          -
          <lpage>30</lpage>
          ,
          <year>2017</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>R.</given-names>
            <surname>Frank</surname>
          </string-name>
          .
          <article-title>Understanding smart sensors</article-title>
          .
          <source>Artech House</source>
          ,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>M.</given-names>
            <surname>Gerhold</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Hartmanns</surname>
          </string-name>
          , and
          <string-name>
            <given-names>M.</given-names>
            <surname>Stoelinga</surname>
          </string-name>
          .
          <article-title>Model-based testing of stochastically timed systems</article-title>
          .
          <source>Innovations in Systems and Software Engineering</source>
          ,
          <volume>15</volume>
          (
          <issue>3-4</issue>
          ):
          <fpage>207</fpage>
          -
          <lpage>233</lpage>
          ,
          <year>2019</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>P.</given-names>
            <surname>Gupta</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Agrawal</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Chhabra</surname>
          </string-name>
          , and
          <string-name>
            <given-names>P.</given-names>
            <surname>Dhir</surname>
          </string-name>
          .
          <article-title>IoT based smart healthcare kit</article-title>
          .
          <source>In Proceedings of the International Conference on Computational Techniques in Information and Communication Technologies (ICCTICT)</source>
          , pages
          <fpage>237</fpage>
          -
          <lpage>242</lpage>
          . IEEE,
          <year>2016</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>K.</given-names>
            <surname>Havelund</surname>
          </string-name>
          and
          <string-name>
            <given-names>D.</given-names>
            <surname>Peled</surname>
          </string-name>
          .
          <article-title>Runtime verification: From propositional to first-order temporal logic</article-title>
          .
          <source>In Proceedings of the 18th International Conference on Runtime Verification (RV)</source>
          , volume
          <volume>11237</volume>
          of Lecture Notes in Computer Science, pages
          <fpage>90</fpage>
          -
          <lpage>112</lpage>
          . Springer,
          <year>2018</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <given-names>N.</given-names>
            <surname>Jansen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.-P.</given-names>
            <surname>Katoen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Kohli</surname>
          </string-name>
          , and
          <string-name>
            <given-names>J.</given-names>
            <surname>Kretinsky</surname>
          </string-name>
          .
          <article-title>Machine learning and model checking join forces</article-title>
          .
          <source>Dagstuhl Reports</source>
          ,
          <volume>8</volume>
          (
          <issue>3</issue>
          ):
          <fpage>74</fpage>
          -
          <lpage>93</lpage>
          ,
          <year>2018</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <given-names>M.</given-names>
            <surname>Jaradat</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Jarrah</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Bousselham</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Jararweh</surname>
          </string-name>
          , and
          <string-name>
            <given-names>M.</given-names>
            <surname>Al-Ayyoub</surname>
          </string-name>
          .
          <article-title>The internet of energy: smart sensor networks and big data management for smart grid</article-title>
          .
          <source>Procedia Computer Science</source>
          ,
          <volume>56</volume>
          :
          <fpage>592</fpage>
          -
          <lpage>597</lpage>
          ,
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16]
          <string-name>
            <given-names>M.</given-names>
            <surname>Leucker</surname>
          </string-name>
          and
          <string-name>
            <given-names>C.</given-names>
            <surname>Schallhart</surname>
          </string-name>
          .
          <article-title>A brief account of Runtime Verification</article-title>
          . JLAP,
          <volume>78</volume>
          (
          <issue>5</issue>
          ):
          <fpage>293</fpage>
          -
          <lpage>303</lpage>
          ,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [17]
          <string-name>
            <given-names>D.</given-names>
            <surname>Neider</surname>
          </string-name>
          and
          <string-name>
            <given-names>I.</given-names>
            <surname>Gavran</surname>
          </string-name>
          .
          <article-title>Learning linear temporal properties</article-title>
          .
          <source>In Proceedings of the 18th Conference on Formal Methods in Computer Aided Design (FMCAD)</source>
          , pages
          <fpage>1</fpage>
          -
          <lpage>10</lpage>
          ,
          <year>2018</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          [19]
          <string-name>
            <given-names>J.</given-names>
            <surname>Pei</surname>
          </string-name>
          , J. Han,
          <string-name>
            <given-names>B.</given-names>
            <surname>Mortazavi-Asl</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Wang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            <surname>Pinto</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Q.</given-names>
            <surname>Chen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>U.</given-names>
            <surname>Dayal</surname>
          </string-name>
          , and M.-
          <string-name>
            <given-names>C.</given-names>
            <surname>Hsu</surname>
          </string-name>
          .
          <article-title>Mining sequential patterns by pattern-growth: the prefixspan approach</article-title>
          .
          <source>IEEE Transactions on Knowledge and Data Engineering</source>
          ,
          <volume>16</volume>
          (
          <issue>11</issue>
          ):
          <fpage>1424</fpage>
          -
          <lpage>1440</lpage>
          ,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          [20]
          <string-name>
            <given-names>G.</given-names>
            <surname>Vellidis</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Tucker</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Perry</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Kvien</surname>
          </string-name>
          , and
          <string-name>
            <given-names>C.</given-names>
            <surname>Bednarz</surname>
          </string-name>
          .
          <article-title>A real-time wireless smart sensor array for scheduling irrigation</article-title>
          .
          <source>Computers and electronics in agriculture</source>
          ,
          <volume>61</volume>
          (
          <issue>1</issue>
          ):
          <fpage>44</fpage>
          -
          <lpage>50</lpage>
          ,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          [21]
          <string-name>
            <given-names>Z.</given-names>
            <surname>Xu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Ornik</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A. A.</given-names>
            <surname>Julius</surname>
          </string-name>
          , and
          <string-name>
            <given-names>U.</given-names>
            <surname>Topcu</surname>
          </string-name>
          .
          <article-title>Information-guided temporal logic inference with prior knowledge</article-title>
          .
          <source>In Proceedings of the 2019 American Control Conference (ACC)</source>
          , pages
          <fpage>1891</fpage>
          -
          <lpage>1897</lpage>
          ,
          <year>2019</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          [22]
          <string-name>
            <given-names>L.</given-names>
            <surname>Ye</surname>
          </string-name>
          and
          <string-name>
            <given-names>E.</given-names>
            <surname>Keogh</surname>
          </string-name>
          .
          <article-title>Time series shapelets: a new primitive for data mining</article-title>
          .
          <source>In Proceedings of the 15th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining (KDD)</source>
          , pages
          <fpage>947</fpage>
          -
          <lpage>956</lpage>
          . ACM,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          [23]
          <string-name>
            <given-names>M. J.</given-names>
            <surname>Zaki</surname>
          </string-name>
          .
          <article-title>SPADE: an efficient algorithm for mining frequent sequences</article-title>
          .
          <source>Machine Learning</source>
          ,
          <volume>42</volume>
          (
          <issue>1</issue>
          ):
          <fpage>31</fpage>
          -
          <lpage>60</lpage>
          ,
          <year>2001</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>