Yliès Falcone

dblp:11/5986 · DBLP profile ↗
← Back
96ranked-venue papers
28as first author
24since 2021 · last 2024
0000-0002-0114-0641ORCID · verified

Domains — the database's venue-derived domains; a paper can count in several

Software engineering, systems software and programming languages · 75 · 26 first-author · 20 since 2021Theory of computation · 20 · 4 first-author · 3 since 2021Systems, architecture and hardware · 3 · 2 since 2021Computer networks · 2 · 1 first-author · 1 since 2021Artificial intelligence and machine learning · 1 · 1 since 2021Databases, data management, data science and information retrieval · 1
YearPublicationVenuePosition
2024 Guided Evolution of IEC 61499 Applications
abstract
IEC 61499 is a standard for developing industrial automation systems. It is known for its reusability, reconfigurability, interoperability, and portability. However, during their life cycle, industrial systems need to evolve according to requirements, and modifying the applications to satisfy these requirements can be complex and error-prone. This paper proposes techniques to guide the evolution of IEC 61499 applications. Given an initial application and the evolution requirements, we generate guidelines for modifying the application to satisfy the requirements. The application is first translated into a behavioural model describing all possible sequences of events the application can trigger. We then apply algorithms to extract relevant submodels of the application and modify them according to the requirements. Finally, the submodels are analysed to generate guidelines for modifying the application. These guidelines can bridge the gap between the requirements and the target application. Instead of only considering the requirements when exploring possible modifications, the developers can use the guidelines to make necessary changes to the application. A mixing tank system is used as a running example to illustrate the approach. In addition, a prototype to automate the evolution techniques is developed.
Irman Faqrizal, Gwen Salaün, Yliès Falcone
ETFA3
2024 Probabilistic Runtime Enforcement of Executable BPMN Processes
abstract
Abstract A business process is a collection of structured tasks corresponding to a service or a product. Business processes do not execute once and for all, but are executed multiple times resulting in multiple instances. In this context, it is particularly difficult to ensure correctness and efficiency of the multiple executions of a process. In this paper, we propose to rely on Probabilistic Model Checking (PMC) to automatically verify that multiple executions of a process respect some specific probabilistic property. This approach applies at runtime, thus the evaluation of the property is periodically verified and the corresponding results updated. However, we go beyond runtime PMC for BPMN, since we propose runtime enforcement techniques to keep executing the process while avoiding the violation of the property. To do so, our approach combines monitoring techniques, computation of probabilistic models, PMC, and runtime enforcement techniques. The approach has been implemented as a toolchain and has been validated on several realistic BPMN processes.
Yliès Falcone, Gwen Salaün, Ahang Zuo
FASE1
2024 Adaptable Configuration of Decentralized Monitors
Ennio Visconti, Ezio Bartocci, Yliès Falcone, Laura Nenzi
FORTE3
2024 Using Mutation Testing To Improve and Minimize Test Suites for Smart Contracts
abstract
This paper presents a successful industrial case study on the application of mutation testing to evaluate and improve test suites for smart contracts. ERCx is a comprehensive, hand-written test suite and framework for smart contract testing, created by Runtime Verification. Despite its thoroughness, hand-written tests can miss edge cases. To address this, we employed mutation testing, which introduces small, syntactic changes, known as mutants, to the program. Mutants that go undetected by the test suite highlight its potential weaknesses, and by presenting them as testing goals, mutation testing helps developers iteratively improve their test suites. In this study, we used mutation testing to expand the ERCx test suite with five new test cases, including one potential vulnerability identified as critical by the ERCx developers. We also developed a test redundancy metric by analyzing pairwise correlation of test data on mutants; we used this redundancy metric to minimize the test suite by removing redundant tests. Finally, we ran both the full and minimized test suites on 106 real-world, faulty ERC-20 contracts to compare the suites' effectiveness and efficiency. Our findings reveal that although the minimized test suite has systematically lower running times compared to the full suite, it still detected faults in 105 of the 106 real-world tokens, retaining nearly all of the full suite's fault-detection capability.
Enzo Nicourt, Benjamin Kushigian, Chandrakana Nandi, Yliès Falcone
ICST4
2024 Dynamic Resource Allocation for Executable BPMN Processes Leveraging Predictive Analytics
abstract
Resource allocation is a critical problem in business processes due to the simultaneous execution of tasks and resource sharing among them. The number of allocated resources affects both the execution cost and time of the process. In the context of runtime processes, a well-defined resource allocation strategy is essential for optimising waiting times and costs by mitigating delays and enhancing resource utilisation. This paper introduces a novel approach to dynamically adjust resource allocation during the execution of BPMN (Business Process Model and Notation) processes. The BPMN process is monitored in real-time, and the execution traces produced during its multiple executions are analysed. These execution traces are used to compute various properties or metrics of interest, including resource usage and average execution time. The approach then relies on predictive analytics to compute the future values of the aforementioned metrics. Based on these predicted results, strategies for the dynamic allocation of resources are defined, which anticipate changes in resource usage and thus dynamically update the number of resources in advance. This approach is fully automated using a toolchain and has been validated with multiple examples.
Yliès Falcone, Gwen Salaün, Ahang Zuo
QRS1
2024 Bounded-memory runtime enforcement with probabilistic and performance analysis
Saumya Shankar, Ankit Pradhan, Srinivas Pinisetty, Antoine Rollet, Yliès Falcone
Formal Methods Syst. Des.5
2024 Adaptive Industrial Control Systems via IEC 61499 and Runtime Enforcement
abstract
This work envisions industrial control systems that can reliably adapt to requirements. We rely on the international standard IEC 61499 to achieve this goal. The standard allows downtimeless system evolution such that an application can be modified at runtime to satisfy the requirements. However, an IEC 61499 application consisting of multiple Function Blocks (FBs) can be modified in many different ways, such as inserting or deleting FBs, creating new FBs with their respective internal behaviours and adjusting the connections between FBs. These changes require considerable effort and cost, and there is no guarantee to satisfy the requirements. This article applies runtime enforcement techniques for supporting adaptive IEC 61499 applications. This set of techniques can modify the runtime behaviour of a system according to specific requirements. Our approach begins with specifying the requirements as a state machine-based notation called contract automaton. This automaton is then used to synthesise an enforcer as an FB. Finally, the new FB is integrated into the application to execute according to the requirements. A tool support is developed to automate the approach. Experiments were performed to evaluate the performance of enforcers by measuring the execution time of several applications before and after the integration of enforcers.
Irman Faqrizal, Gwen Salaün, Yliès Falcone
ACM Trans. Auton. Adapt. Syst.3
2023 Opportunistic Monitoring of Multithreaded Programs
abstract
Abstract We introduce a generic approach for monitoring multithreaded programs online leveraging existing runtime verification (RV) techniques. In our setting, monitors are deployed to monitor specific threads and only exchange information upon reaching synchronization regions defined by the program itself. They use the opportunity of a lock in the program, to evaluate information across threads. As such, we refer to this approach as opportunistic monitoring. By using the existing synchronization, our approach reduces additional overhead and interference to synchronize at the cost of adding a delay to determine the verdict. We utilize a textbook example of readers-writers to show how opportunistic monitoring is capable of expressing specifications on concurrent regions. We also present a preliminary assessment of the overhead of our approach and compare it to classical monitoring showing that it scales particularly well with the concurrency present in the program.
Chukri Soueidi, Antoine El-Hokayem, Yliès Falcone
FASE3
2023 Dynamic Program Analysis with Flexible Instrumentation and Complex Event Processing
abstract
This paper presents a flexible and modular approach to dynamic program analysis for JVM-based languages, aiming to address the limitations of existing tools, in particular their limited expressivity and tight coupling between instrumentation and analysis. The proposed solution decouples these two processes using BISM, a lightweight instrumentation language, and BeepBeep, a complex event processing engine. This novel combination enhances expressiveness, promotes reusability, and integrates seamlessly into JVM-based projects. Various analyses such as monitoring, profiling, coverage measurement, and complex event generation are demonstrated, showcasing the approach’s flexibility.
Chukri Soueidi, Yliès Falcone, Sylvain Hallé
ISSRE2
2023 Bridging the Gap: A Focused DSL for RV-Oriented Instrumentation with BISM
Chukri Soueidi, Yliès Falcone
RV2
2023 Instrumentation for RV: From Basic Monitoring to Advanced Use Cases
Chukri Soueidi, Yliès Falcone
RV2
2023 Customizable Reference Runtime Monitoring of Neural Networks Using Resolution Boxes
Changshun Wu, Yliès Falcone, Saddek Bensalem
RV2
2023 Sound Concurrent Traces for Online Monitoring
Chukri Soueidi, Yliès Falcone
SPIN2
2023 Efficient and expressive bytecode-level instrumentation for Java programs
Chukri Soueidi, Marius Monnier, Yliès Falcone
Int. J. Softw. Tools Technol. Transf.3
2022 Probabilistic Model Checking of BPMN Processes at Runtime
Yliès Falcone, Gwen Salaün, Ahang Zuo
IFM1
2022 Runtime Verification of Kotlin Coroutines
Denis Furian, Shaun Azzopardi, Yliès Falcone, Gerardo Schneider
RV3
2022 Decent: A Benchmark for Decentralized Enforcement
Florian Gallay, Yliès Falcone
RV2
2022 Runtime Enforcement for IEC 61499 Applications
Yliès Falcone, Irman Faqrizal, Gwen Salaün
SEFM1
2022 Bounded-Memory Runtime Enforcement
Saumya Shankar, Antoine Rollet, Srinivas Pinisetty, Yliès Falcone
SPIN4
2022 Decentralised Runtime Verification of Timed Regular Expressions
Victor Roussanaly, Yliès Falcone
TIME2
2022 Bringing runtime verification home: a case study on the hierarchical monitoring of smart homes using decentralized specifications
Antoine El-Hokayem, Yliès Falcone
Int. J. Softw. Tools Technol. Transf.2
2021 Runtime Enforcement with Reordering, Healing, and Suppression
Yliès Falcone, Gwen Salaün
SEFM1
2021 On Decentralized Monitoring
Yliès Falcone
VECoS1
2021 A taxonomy for classifying runtime verification tools
Yliès Falcone, Srdan Krstic, Giles Reger, Dmitriy Traytel
Int. J. Softw. Tools Technol. Transf.1
2020 BISM: Bytecode-Level Instrumentation for Software Monitoring
Chukri Soueidi, Ali Kassem 0004, Yliès Falcone
RV3
2020 Runtime enforcement of timed properties using games
abstract
Abstract This paper deals with runtime enforcement of timed properties with uncontrollable events. Runtime enforcement consists in defining and using an enforcement mechanism that modifies the executions of a running system to ensure their correctness with respect to the desired property. Uncontrollable events cannot be modified by the enforcement mechanisms and thus have to be released immediately. We present a complete theoretical framework for synthesising such mechanism, modelling the runtime enforcement problem as a Büchi game. It permits to pre-compute the decisions of the enforcement mechanism, thus avoiding to explore the whole execution tree at runtime. The obtained enforcement mechanism is sound, compliant and optimal, meaning that it should output as soon as possible correct executions that are as close as possible to the input execution. This framework takes as input any timed regular property modelled by a timed automaton. We present GREP, a tool implementing this approach. We provide algorithms and implementation details of the different modules of GREP, and evaluate its performance. The results are compared with another state of the art runtime enforcement tool.
Matthieu Renard, Antoine Rollet, Yliès Falcone
Formal Aspects Comput.3
2020 From global choreographies to verifiable efficient distributed implementations
Mohamad Jaber 0001, Yliès Falcone, Paul C. Attie, Al-Abbass Khalil, Rayan Hallal, Antoine El-Hokayem
J. Log. Algebraic Methods Program.2
2020 Preface to the special section on improving software quality through formal methods
Yliès Falcone, Leonardo Mariani
Softw. Qual. J.1
2020 On the Monitoring of Decentralized Specifications: Semantics, Properties, Analysis, and Simulation
abstract
We introduce two complementary approaches to monitor decentralized systems. The first approach relies on systems with a centralized specification, i.e., when the specification is written for the behavior of the entire system. To do so, our approach introduces a data structure that (i) keeps track of the execution of an automaton (ii) has predictable parameters and size, and (iii) guarantees strong eventual consistency. The second approach defines decentralized specifications wherein multiple specifications are provided for separate parts of the system. We study two properties of decentralized specifications pertaining to monitorability and compatibility between specification and architecture. We also present a general algorithm for monitoring decentralized specifications. We map three existing algorithms to our approaches and provide a framework for analyzing their behavior. Furthermore, we present THEMIS, a framework for designing such decentralized algorithms and simulating their behavior. We demonstrate the usage of THEMIS to compare multiple algorithms and validate the trends predicted by the analysis in two scenarios: a synthetic benchmark and the Chiron user interface.
Antoine El-Hokayem, Yliès Falcone
ACM Trans. Softw. Eng. Methodol.2
2019 On the Runtime Enforcement of Timed Properties
Yliès Falcone, Srinivas Pinisetty
RV1
2019 International Competition on Runtime Verification (CRV)
abstract
We review the first five years of the international Competition on Runtime Verification (CRV), which began in 2014. Runtime verification focuses on verifying system executions directly and is a useful lightweight technique to complement static verification techniques. The competition has gone through a number of changes since its introduction, which we highlight in this paper.
Ezio Bartocci, Yliès Falcone, Giles Reger
TACAS (3)2
2019 A survey of challenges for runtime verification from advanced application domains (beyond software)
abstract
Abstract Runtime verification is an area of formal methods that studies the dynamic analysis of execution traces against formal specifications. Typically, the two main activities in runtime verification efforts are the process of creating monitors from specifications, and the algorithms for the evaluation of traces against the generated monitors. Other activities involve the instrumentation of the system to generate the trace and the communication between the system under analysis and the monitor. Most of the applications in runtime verification have been focused on the dynamic analysis of software, even though there are many more potential applications to other computational devices and target systems. In this paper we present a collection of challenges for runtime verification extracted from concrete application domains, focusing on the difficulties that must be overcome to tackle these specific challenges. The computational models that characterize these domains require to devise new techniques beyond the current state of the art in runtime verification.
César Sánchez 0001, Gerardo Schneider, Wolfgang Ahrendt, Ezio Bartocci, Domenico Bianculli, Christian Colombo 0001, Yliès Falcone, Adrian Francalanza, Srdan Krstic, João Lourenço, Dejan Nickovic, Gordon J. Pace, José Rufino, Julien Signoles, Dmitriy Traytel, Alexander Weiss
Formal Methods Syst. Des.7
2019 Correction to: A survey of challenges for runtime verification from advanced application domains (beyond software)
César Sánchez 0001, Gerardo Schneider, Wolfgang Ahrendt, Ezio Bartocci, Domenico Bianculli, Christian Colombo 0001, Yliès Falcone, Adrian Francalanza, Srdan Krstic, João Lourenço, Dejan Nickovic, Gordon J. Pace, José Rufino, Julien Signoles, Dmitriy Traytel, Alexander Weiss
Formal Methods Syst. Des.7
2019 Optimal enforcement of (timed) properties with uncontrollable events
abstract
This paper deals with runtime enforcement of untimed and timed properties with uncontrollable events. Runtime enforcement consists in defining and using mechanisms that modify the executions of a running system to ensure their correctness with respect to a desired property. We introduce a framework that takes as input any regular (timed) property described by a deterministic automaton over an alphabet of events, with some of these events being uncontrollable. An uncontrollable event cannot be delayed nor intercepted by an enforcement mechanism. Enforcement mechanisms should satisfy important properties, namely soundness, compliance and optimality – meaning that enforcement mechanisms should output as soon as possible correct executions that are as close as possible to the input execution. We define the conditions for a property to be enforceable with uncontrollable events. Moreover, we synthesise sound, compliant and optimal descriptions of runtime enforcement mechanisms at two levels of abstraction to facilitate their design and implementation.
Matthieu Renard, Yliès Falcone, Antoine Rollet, Thierry Jéron, Hervé Marchand
Math. Struct. Comput. Sci.2
2019 First international Competition on Runtime Verification: rules, benchmarks, tools, and final results of CRV 2014
abstract
The first international Competition on Runtime Verification (CRV) was held in September 2014, in Toronto, Canada, as a satellite event of the 14th international conference on Runtime Verification (RV’14). The event was organized in three tracks: (1) offline monitoring, (2) online monitoring of C programs, and (3) online monitoring of Java programs. In this paper, we report on the phases and rules, a description of the participating teams and their submitted benchmark, the (full) results, as well as the lessons learned from the competition.
Ezio Bartocci, Yliès Falcone, Borzoo Bonakdarpour, Christian Colombo 0001, Normann Decker, Klaus Havelund, Yogi Joshi, Felix Klaedtke, Reed Milewicz, Giles Reger, Grigore Rosu, Julien Signoles, Daniel Thoma, Eugen Zalinescu
Int. J. Softw. Tools Technol. Transf.2
2019 From high-level modeling toward efficient and trustworthy circuits
Fadi A. Zaraket, Mohamad Jaber 0001, Mohamad Noureddine, Yliès Falcone
Int. J. Softw. Tools Technol. Transf.4
2018 Facilitating the Implementation of Distributed Systems with Heterogeneous Interactions
Salwa Kobeissi, Adnan Utayim, Mohamad Jaber 0001, Yliès Falcone
IFM4
2018 RV-TheToP: Runtime Verification from Theory to the Industry Practice (Track Introduction)
Ezio Bartocci, Yliès Falcone
ISoLA (4)2
2018 COST Action IC1402 Runtime Verification Beyond Monitoring
Christian Colombo 0001, Yliès Falcone, Martin Leucker, Giles Reger, César Sánchez 0001, Gerardo Schneider, Volker Stolz
RV2
2018 Can We Monitor All Multithreaded Programs?
Antoine El-Hokayem, Yliès Falcone
RV2
2018 Bringing Runtime Verification Home
Antoine El-Hokayem, Yliès Falcone
RV2
2018 Second School on Runtime Verification, as Part of the ArVi COST Action 1402 - Overview and Reflections
Yliès Falcone
RV1
2018 A Taxonomy for Classifying Runtime Verification Tools
Yliès Falcone, Srdan Krstic, Giles Reger, Dmitriy Traytel
RV1
2018 Tracing Distributed Component-Based Systems, a Brief Overview
Yliès Falcone, Hosein Nazarpour, Mohamad Jaber 0001, Marius Bozga, Saddek Bensalem
RV1
2018 Introduction to the special issue on runtime verification
Yliès Falcone, César Sánchez 0001
Formal Methods Syst. Des.1
2018 Decentralized enforcement of document lifecycle constraints
Sylvain Hallé, Raphaël Khoury, Quentin Betti, Antoine El-Hokayem, Yliès Falcone
Inf. Syst.5
2018 A high-level modeling language for the efficient design, implementation, and testing of Android applications
Mohamad Jaber 0001, Yliès Falcone, Kinan Dak Albab, John Abou-Jaoudeh, Mostafa El-Katerji
Int. J. Softw. Tools Technol. Transf.2
2017 User-based Load Balancer in HBase
Ahmad Ghandour, Mariam Moukalled, Mohamad Jaber 0001, Yliès Falcone
CLOSER4
2017 Interactive Runtime Verification - When Interactive Debugging Meets Runtime Verification
abstract
Runtime Verification consists in studying a system at runtime, looking for input and output events to discover, check or enforce behavioral properties. Interactive debugging consists in studying a system at runtime in order to discover and understand its bugs and fix them, inspecting interactively its internal state.Interactive Runtime Verification (i-RV) combines runtime verification and interactive debugging. We define an efficient and convenient way to check behavioral properties automatically on a program using a debugger. We aim at helping bug discovery and understanding by guiding classical interactive debugging techniques using runtime verification.
Raphaël Jakse, Yliès Falcone, Jean-François Méhaut, Kevin Pouget
ISSRE2
2017 Monitoring decentralized specifications
abstract
We define two complementary approaches to monitor decentralized systems. The first relies on those with a centralized specification, i.e, when the specification is written for the behavior of the entire system. To do so, our approach introduces a data-structure that i) keeps track of the execution of an automaton, ii) has predictable parameters and size, and iii) guarantees strong eventual consistency. The second approach defines decentralized specifications wherein multiple specifications are provided for separate parts of the system. We study decentralized monitorability, and present a general algorithm for monitoring decentralized specifications. We map three existing algorithms to our approaches and provide a framework for analyzing their behavior. Lastly, we introduce our tool, which is a framework for designing such decentralized algorithms, and simulating their behavior.
Antoine El-Hokayem, Yliès Falcone
ISSTA2
2017 THEMIS: a tool for decentralized monitoring algorithms
abstract
THEMIS is a tool to facilitate the design, development, and analysis of decentralized monitoring algorithms; developed using Java and AspectJ. It consists of a library and command-line tools. THEMIS provides an API, data structures and measures for decentralized monitoring. These building blocks can be reused or extended to modify existing algorithms, design new more intricate algorithms, and elaborate new approaches to assess existing algorithms. We illustrate the usage of THEMIS by comparing two variants of a monitoring algorithm.
Antoine El-Hokayem, Yliès Falcone
ISSTA2
2017 GREP: Games for the Runtime Enforcement of Properties
Matthieu Renard, Antoine Rollet, Yliès Falcone
ICTSS3
2017 Verifying Policy Enforcers
Oliviero Riganelli, Daniela Micucci, Leonardo Mariani, Yliès Falcone
RV4
2017 Runtime enforcement using Büchi games
abstract
We leverage Büchi games for the runtime enforcement of regular properties with uncontrollable events. Runtime enforcement consists in modifying the execution of a running system to have it satisfy a given regular property, modelled by an automaton. We revisit runtime enforcement with uncontrollable events and propose a framework where we model the runtime enforcement problem as a Büchi game and synthesise sound, compliant, and optimal enforcement mechanisms as strategies.We present algorithms and a tool implementing enforcement mechanisms.We reduce the complexity of the computations performed by enforcement mechanisms at runtime by pre-computing the decisions of enforcement mechanisms ahead of time.
Matthieu Renard, Antoine Rollet, Yliès Falcone
SPIN3
2017 Concurrency-preserving and sound monitoring of multi-threaded component-based systems: theory, algorithms, implementation, and evaluation
abstract
Abstract This paper addresses the monitoring of logic-independent linear-time user-provided properties in multi-threaded component-based systems. We consider intrinsically independent components that can be executed concurrently with a centralized coordination for multiparty interactions. In this context, the problem that arises is that a global state of the system is not available to the monitor. A naive solution to this problem would be to plug in a monitor which would force the system to synchronize in order to obtain the sequence of global states at runtime. Such a solution would defeat the whole purpose of having concurrent components. Instead, we reconstruct on-the-fly the global states by accumulating the partial states traversed by the system at runtime. We define transformations of components that preserve their semantics and concurrency and, at the same time, allow to monitor global-state properties. Moreover, we present RVMT-BIP, a prototype tool implementing the transformations for monitoring multi-threaded systems described in the Behavior, Interaction, Priority (BIP) framework, an expressive framework for the formal construction of heterogeneous systems. Our experiments on several multi-threaded BIP systems show that RVMT-BIP induces a cheap runtime overhead.
Hosein Nazarpour, Yliès Falcone, Saddek Bensalem, Marius Bozga
Formal Aspects Comput.2
2017 Formal analysis and offline monitoring of electronic exams
Ali Kassem 0001, Yliès Falcone, Pascal Lafourcade 0001
Formal Methods Syst. Des.2
2017 Predictive runtime enforcement
Srinivas Pinisetty, Viorel Preoteasa, Stavros Tripakis, Thierry Jéron, Yliès Falcone, Hervé Marchand
Formal Methods Syst. Des.5
2017 Predictive runtime verification of timed properties
Srinivas Pinisetty, Thierry Jéron, Stavros Tripakis, Yliès Falcone, Hervé Marchand, Viorel Preoteasa
J. Syst. Softw.4
2017 Fully automated runtime enforcement of component-based systems with formal and sound recovery
Yliès Falcone, Mohamad Jaber 0001
Int. J. Softw. Tools Technol. Transf.1
2016 Decentralized Enforcement of Artifact Lifecycles
abstract
Artifact-centric workflows describe possible executions of a business process through constraints expressed from the point of view of the documents exchanged between principals. A sequence of manipulations is deemed valid as long as every document in the workflow follows its prescribed lifecycle at all steps of the process. So far, establishing that a given workflow complies with artifact lifecycles has mostly been done through static verification, or by assuming a centralized access to all artifacts where these constraints can be monitored and enforced. We present in this paper an alternate method of enforcing document lifecycles that requires neither static verification nor single-point access. Rather, the document itself is designed to carry fragments of its history, protected from tampering using hashing and public-key encryption. Any principal involved in the process can verify at any time that a document's history complies with a given lifecycle. Moreover, the proposed system also enforces access permissions: not all actions are visible to all principals, and one can only modify and verify what one is allowed to observe.
Sylvain Hallé, Raphaël Khoury, Antoine El-Hokayem, Yliès Falcone
EDOC4
2016 Monitoring Multi-threaded Component-Based Systems
Hosein Nazarpour, Yliès Falcone, Saddek Bensalem, Marius Bozga, Jacques Combaz
IFM2
2016 Runtime Verification and Enforcement, the (Industrial) Application Perspective (Track Introduction)
Ezio Bartocci, Yliès Falcone
ISoLA (2)2
2016 First International Summer School on Runtime Verification - As Part of the ArVi COST Action 1402
Christian Colombo 0001, Yliès Falcone
RV2
2016 Third International Competition on Runtime Verification - CRV 2016
Giles Reger, Sylvain Hallé, Yliès Falcone
RV3
2016 Modularizing Crosscutting Concerns in Component-Based Systems
Antoine El-Hokayem, Yliès Falcone, Mohamad Jaber 0001
SEFM2
2016 Decentralised LTL monitoring
Andreas Bauer 0002, Yliès Falcone
Formal Methods Syst. Des.2
2016 Organising LTL monitors over distributed systems with a global clock
Christian Colombo 0001, Yliès Falcone
Formal Methods Syst. Des.2
2015 Dynamic Detection and Mitigation of DMA Races in MPSoCs
abstract
Explicitly managed memories have emerged as a good alternative for multicore processors design in order to reduce energy and performance costs. Memory transfers then rely on Direct Memory Access (DMA) engines which provide a hardware support for accelerating data. However, programming explicit data transfers is very challenging for developers who must manually orchestrate data movements through the memory hierarchy. This is in practice very error-prone and can easily lead to memory inconsistency. In this paper, we propose a runtime approach for monitoring DMA races. The monitor acts as a safeguard for programmers and is able to enforce at runtime a correct behavior w.r.t the semantics of the program execution. We validate the approach using traces extracted from industrial benchmarks and executed on the multiprocessor system-onchip platform STHORM. Our experiments demonstrate that the monitoring algorithm has a low overhead (less than 1.5 KB) of on-chip memory consumption and an overhead of less than 2% of additional execution time.
Selma Saidi, Yliès Falcone
DSD2
2015 Enforcement of (Timed) Properties with Uncontrollable Events
Matthieu Renard, Yliès Falcone, Antoine Rollet, Srinivas Pinisetty, Thierry Jéron, Hervé Marchand
ICTAC2
2015 RV-Android: Efficient Parametric Android Runtime Verification, a Brief Tutorial
Philip Daian, Yliès Falcone, Patrick O'Neil Meredith, Traian-Florin Serbanuta, Shinichi Shiraishi, Akihito Iwai, Grigore Rosu
RV2
2015 Second International Competition on Runtime Verification CRV 2015
Yliès Falcone, Dejan Nickovic, Giles Reger, Daniel Thoma
RV1
2015 Monitoring Electronic Exams
Ali Kassem 0001, Yliès Falcone, Pascal Lafourcade 0001
RV2
2015 TiPEX: A Tool Chain for Timed Property Enforcement During eXecution
Srinivas Pinisetty, Yliès Falcone, Thierry Jéron, Hervé Marchand
RV2
2015 Runtime verification of component-based systems in the BIP framework with formally-proved sound and complete instrumentation
Yliès Falcone, Mohamad Jaber 0001, Thanh-Hung Nguyen, Marius Bozga, Saddek Bensalem
Softw. Syst. Model.1
2015 Runtime verification: the application perspective
Yliès Falcone, Lenore D. Zuck
Int. J. Softw. Tools Technol. Transf.1
2014 Efficient and Generalized Decentralized Monitoring of Regular Languages
Yliès Falcone, Tom Cornebize, Jean-Claude Fernandez
FORTE1
2014 Blocking Advertisements on Android Devices Using Monitoring Techniques
Khalil El-Harake, Yliès Falcone, Wassim Jerad, Matthieu Langet, Mariem Mamlouk
ISoLA (2)2
2014 First International Competition on Software for Runtime Verification
Ezio Bartocci, Borzoo Bonakdarpour, Yliès Falcone
RV3
2014 Organising LTL Monitors over Distributed Systems with a Global Clock
Christian Colombo 0001, Yliès Falcone
RV2
2014 Runtime enforcement of timed properties revisited
Srinivas Pinisetty, Yliès Falcone, Thierry Jéron, Hervé Marchand, Antoine Rollet, Omer Nguena-Timo
Formal Methods Syst. Des.2
2013 Fault localization in embedded software based on a single cyclic trace
abstract
Locating faults in embedded software, especially in microcontrollers, is still difficult. Quite recently, it became possible to recover execution traces from microcontrollers using specific hardware probes. However, the collected traces contain a huge volume of low-level data. Consequently, manual analysis is difficult and our industrial partners call for automatic and more effective fault-localization methods for embedded software. This paper presents a new approach to automatically locate faults in embedded programs given a single faulty execution trace. Our approach exploits the cyclic nature of embedded programs and uses several adapted spectrum-based methods in order to find faults on a single execution, rather than a set of multiple failing and passing executions. Our approach is implemented in the tool CoMET and evaluated on several faulty programs. The evaluation shows that our single-trace fault-localization method using Ochiai [1] allows engineers to find a fault by inspecting less than 5% of the program in most cases, and it confirms the interest of automatic fault localization for microcontrollers.
Azzeddine Amiar, Mickaël Delahaye, Yliès Falcone, Lydie du Bousquet
ISSRE3
2012 Quantified Event Automata: Towards Expressive and Efficient Runtime Monitors
Howard Barringer, Yliès Falcone, Klaus Havelund, Giles Reger, David E. Rydeheard
FM2
2012 Decentralised LTL Monitoring
Andreas Bauer 0002, Yliès Falcone
FM2
2012 Towards Certified Runtime Verification
Jan Olaf Blech, Yliès Falcone, Klaus Becker 0001
ICFEM2
2012 Behavioral Specification Based Runtime Monitors for OSGi Services
Jan Olaf Blech, Yliès Falcone, Harald Ruess, Bernhard Schätz
ISoLA (1)2
2012 Runtime Verification: The Application Perspective
Yliès Falcone, Lenore D. Zuck
ISoLA (1)1
2012 Weave droid: aspect-oriented programming on Android devices: fully embedded or in the cloud
abstract
Weave Droid is an Android application that makes Aspect-Oriented Programming (AOP) on Android devices possible and user-friendly. It allows to retrieve applications and aspects and weave them together in several ways. Applications and aspects can be loaded from Google Play, personal repositories, or the local memory of a device. Then, two complementary weaving modes are provided: local or remote, using the embedded aspect compiler or the compiler in the cloud, respectively. This provides flexibility and preserves the mobility of the target devices. Weave Droid opens a world of possible applications, not only by benefiting from the already existing uses of AOP on standard machines, but also by the various uses related to the mobile devices. Effectiveness of Weave Droid is demonstrated by weaving aspects with off-the-shelf applications from Google Play.
Yliès Falcone, Sebastian Currea
ASE1
2012 Runtime Verification and Enforcement for Android Applications with RV-Droid
Yliès Falcone, Sebastian Currea, Mohamad Jaber 0001
RV1
2012 Runtime Enforcement of Timed Properties
Srinivas Pinisetty, Yliès Falcone, Thierry Jéron, Hervé Marchand, Antoine Rollet, Omer Nguena-Timo
RV2
2012 More testable properties
Yliès Falcone, Jean-Claude Fernandez, Thierry Jéron, Hervé Marchand, Laurent Mounier
Int. J. Softw. Tools Technol. Transf.1
2012 What can you verify and enforce at runtime?
Yliès Falcone, Jean-Claude Fernandez, Laurent Mounier
Int. J. Softw. Tools Technol. Transf.1
2011 Runtime Verification of Component-Based Systems
Yliès Falcone, Mohamad Jaber 0001, Thanh-Hung Nguyen, Marius Bozga, Saddek Bensalem
SEFM1
2011 Runtime enforcement monitors: composition, synthesis, and enforcement abilities
Yliès Falcone, Laurent Mounier, Jean-Claude Fernandez, Jean-Luc Richier
Formal Methods Syst. Des.1
2010 More Testable Properties
Yliès Falcone, Jean-Claude Fernandez, Thierry Jéron, Hervé Marchand, Laurent Mounier
ICTSS1
2010 You Should Better Enforce Than Verify
Yliès Falcone
RV1
2009 Runtime Verification of Safety-Progress Properties
Yliès Falcone, Jean-Claude Fernandez, Laurent Mounier
RV1