Masoud Ebrahimi 0002

dblp:62/4010-2 · DBLP profile ↗
← Back
11ranked-venue papers
2as first author
6since 2021 · last 2023
0000-0002-5440-1331ORCID · verified

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

Theory of computation · 8 · 2 first-author · 5 since 2021Software engineering, systems software and programming languages · 5 · 1 first-author · 1 since 2021Security and privacy · 1 · 1 since 2021
YearPublicationVenuePosition
2023 A Systematic Approach to Automotive Security
Masoud Ebrahimi 0002, Stefan Marksteiner, Dejan Nickovic, Roderick Bloem, David Schögler, Philipp Eisner, Samuel Sprung, Thomas Schober, Sebastian Chlup, Christoph Schmittner, Sandra König
FM1
2023 Attribute Repair for Threat Prevention
Thorsten Tarrach, Masoud Ebrahimi 0002, Sandra König, Christoph Schmittner, Roderick Bloem, Dejan Nickovic
SAFECOMP2
2023 Learning Mealy machines with one timer
abstract
We present Mealy machines with a single timer (MM1Ts), a class of sufficiently expressive models to describe the real-time behavior of many realistic applications that we can learn efficiently. We show how we can obtain learning algorithms for MM1Ts via a reduction to the problem of learning Mealy machines. We describe an implementation of an MM1T learner on top of LearnLib and compare its performance with recent algorithms proposed by Aichernig et al. and An et al. on several realistic benchmarks.
Frits W. Vaandrager, Masoud Ebrahimi 0002, Roderick Bloem
Inf. Comput.2
2022 Specifiable robustness in reactive synthesis
abstract
Abstract When synthesizing a system from a given specification, there is room for automatically adding various requirements, hence improving the resulting system. One such requirement covered extensively in past literature is that of robustness. In particular, the system can fail to read the inputs correctly from the environment, and the environment can fail to satisfy our assumptions about its behavior. Nevertheless, we want the system to still satisfy the specification even under these failures, in some limited way. It has to be limited because it is typically too strong of a requirement to realize the property regardless of the inputs and the environment’s assumptions. In this work, we propose a simple and flexible framework for synthesizing robust systems, where the user defines the required robustness via a temporal robustness specification. For example, the user may specify that the environment is eventually reliable, or input misreadings cannot occur more than $$k$$ k consecutive steps and synthesize a system under this assumption. Furthermore, our framework enables us to specify a temporal recovery specification, which describes how the designer expects the system to recover after a failure of the environment assumptions. We show examples of robust systems that we synthesized with this method using our synthesis tool Party.
Roderick Bloem, Hana Chockler, Masoud Ebrahimi 0002, Ofer Strichman
Formal Methods Syst. Des.3
2021 Learning Mealy Machines with One Timer
Frits W. Vaandrager, Roderick Bloem, Masoud Ebrahimi 0002
LATA3
2021 Vacuity in synthesis
abstract
Abstract In reactive synthesis, one begins with a temporal specification $$\varphi $$ φ , and automatically synthesizes a system $$M$$ M such that $$M\models \varphi $$ M ⊧ φ . As many systems can satisfy a given specification, it is natural to seek ways to force the synthesis tool to synthesize systems that are of a higher quality, in some well-defined sense. In this article we focus on a well-known measure of the way in which a system satisfies its specification, namely vacuity. Our conjecture is that if the synthesized system M satisfies $$\varphi $$ φ non-vacuously, then M is likely to be closer to the user’s intent, because it satisfies $$\varphi $$ φ in a more “meaningful” way. Narrowing the gap between the formal specification and the designer’s intent in this way, automatically, is the topic of this article. Specifically, we propose a bounded synthesis method for achieving this goal. The notion of vacuity as defined in the context of model checking, however, is not necessarily refined enough for the purpose of synthesis. Hence, even when the synthesized system is technically non-vacuous, there are yet more interesting (equivalently, less vacuous) systems, and we would like to be able to synthesize them. To that end, we cope with the problem of synthesizing a system that is as non-vacuous as possible, given that the set of interesting behaviours with respect to a given specification induce a partial order on transition systems. On the theoretical side we show examples of specifications for which there is a single maximal element in the partial order (i.e., the most interesting system), a set of equivalent maximal elements, or a number of incomparable maximal elements. We also show examples of specifications that induce infinite chains of increasingly interesting systems. These results have implications on how non-vacuous the synthesized system can be. We implemented the new procedure in our synthesis tool PARTY. For this purpose we added to it the capability to synthesize a system based on a property which is a conjunction of universal and existential LTL formulas.
Roderick Bloem, Hana Chockler, Masoud Ebrahimi 0002, Ofer Strichman
Formal Methods Syst. Des.3
2019 Synthesizing Reactive Systems Using Robustness and Recovery Specifications
abstract
Past literature on synthesis identified the need to synthesize systems that are robust to failures of the system in reading the inputs from the environment, and also to failures of the environment itself to satisfy our assumptions about its behavior. In this work, we propose a simple and flexible framework for synthesizing robust systems, where the user defines the required robustness via a temporal robustness specification. For example, the user may specify that the environment is eventually reliable, or input misreadings cannot occur more than k consecutive steps, and synthesize a system under this assumption. Furthermore, our framework enables us to specify, also, a temporal recovery specification, i.e., describing the way the system is expected to recover after a failure of the environment assumptions. We show examples of robust systems that we have synthesized with this method by our synthesis tool PARTY.
Roderick Bloem, Hana Chockler, Masoud Ebrahimi 0002, Ofer Strichman
FMCAD3
2019 Learning a Behavior Model of Hybrid Systems Through Combining Model-Based Testing and Machine Learning
Bernhard K. Aichernig, Roderick Bloem, Masoud Ebrahimi 0002, Martin Horn, Franz Pernkopf, Wolfgang Roth, Astrid Rupp, Martin Tappler, Markus Tranninger
ICTSS3
2019 Symbolic checking of Fuzzy CTL on Fuzzy Program Graph
abstract
Few fuzzy temporal logics and modeling formalisms are developed such that their model checking is both effective and efficient. State-space explosion makes model checking of fuzzy temporal logics inefficient. That is because either the modeling formalism itself is not compact, or the verification approach requires an exponentially larger yet intermediate representation of the modeling formalism. To exemplify, Fuzzy Program Graph (FzPG) is a very compact, and powerful formalism to model fuzzy systems; yet, it is required to be translated into an equal Fuzzy Kripke model with an exponential blow-up should it be formally verified. In this paper, we introduce Fuzzy Computation Tree Logic (FzCTL) and its direct symbolic model checking over FzPG that avoids the aforementioned state-space explosion. Considering compactness and readability of FzPG along with expressiveness of FzCTL, we believe the proposed method is applicable in real-world scenarios. Finally, we study formal verification of fuzzy flip-flops to demonstrate capabilities of the proposed method.
Masoud Ebrahimi 0002, Gholamreza Sotudeh, Ali Movaghar-Rahimabadi
Acta Informatica1
2018 Automata Learning for Symbolic Execution
abstract
Black-box components conceal parts of software execution paths, which makes systematic testing, e. g., via symbolic execution, difficult. In this paper, we use automata learning to facilitate symbolic execution in the presence of black-box components. We substitute black-boxes in a software system with learned automata that model them, enabling us to symbolically execute program paths that run through black-boxes. We show that applying the approach on real-world software systems incorporating black-boxes increases code coverage when compared to standard techniques.
Bernhard K. Aichernig, Roderick Bloem, Masoud Ebrahimi 0002, Martin Tappler, Johannes Winter
FMCAD3
2017 Synthesizing Non-Vacuous Systems
Roderick Bloem, Hana Chockler, Masoud Ebrahimi 0002, Ofer Strichman
VMCAI3