Dor Ma'ayan
Computer Science Ph.D. Student, Tel Aviv University.
253 Check Point Building
School of Computer Science
Tel Aviv University
Tel Aviv 6997801, Israel
I’m a Ph.D. student at the School of Computer Science, Tel Aviv University, in the Software Modeling Lab under the supervision of Prof. Shahar Maoz.
My research interests are in the intersection of Software Engineering, Programming Languages, and HCI. Currently, I am working on making reactive synthesis more usable as part of the SYNTECH project.
Before joining TAU, I completed my MSc. at Technion under the supervision of Prof. Yosi Gil and was a visiting researcher at the Penrose research group at Carnegie Mellon University, hosted by Prof. Joshua Sunshine.
selected publications
- ASEEvolution-Aware Heuristics for GR(1) Realizability CheckingDor Ma’ayan, Shahar Maoz, and JAN Oliver Ringert2025
Reactive synthesis is an automated procedure to obtain a correct-by-construction reactive system from its temporal logic specification. Despite significant research progress over the past few decades, reactive synthesis is still in its early stages of practical adoption. One significant barrier to using reactive synthesis outside academia is the long realizability checking and synthesis time of specifications. This paper introduces a novel, evolution-aware approach for realizability checking. Our approach leverages the key observation that realizability checking is an operation that developers frequently perform during iterative specification development; therefore, utilizing intermediate data from previous realizability checks can substantially improve running times. Our approach computes a local semantic diff between previous and current versions of the specification, and, based on the diff and the previous realizability checking result, applies a set of sound heuristics. These heuristics reuse intermediate data collected during the previous specification’s realizability checking to accelerate the current specification’s realizability checking. Our evaluation demonstrates that these heuristics are applicable in 70% of cases from a real-world dataset containing thousands of specifications, and that their application significantly improves the running time of realizability checking.
@article{ASE25, author = {Ma’ayan, Dor and Maoz, Shahar and Ringert, JAN Oliver}, title = {Evolution-Aware Heuristics for GR(1) Realizability Checking}, booktitle = {40th {IEEE/ACM} International Conference on Automated Software Engineering, {ASE} 2025}, year = {2025}, publisher = {{IEEE}} } - TOSEMExploring Development Methods for Reactive Synthesis SpecificationsDor Ma’ayan, Shahar Maoz, and JAN Oliver RingertACM Trans. Softw. Eng. Methodol., 2025
Reactive synthesis is an automated procedure to obtain a correct-by-construction reactive system from its temporal logic specification. Despite significant research progress in the past decades, reactive synthesis is still in early-stage of use. Previous studies found that the lack of development methods for reactive synthesis specifications is one barrier to its wider adoption. In this paper, we adapt two development methods, an incremental method and a modular method, to the context of reactive synthesis specifications. The methods are based on existing software development methods on the one hand and studies about reactive synthesis on the other hand. Then, we report on an exploratory case study in which participants developed specifications using the two methods. We evaluated the methods using a mixed-method analysis that combines grounded theory analysis of Slack communication with participants, quantitative exploratory data analysis of the synthesis IDE usage logs, and qualitative independent expert review of the final specifications. Our findings show clear benefits of modular specification development in terms of ease of planning, synthesis time, fewer unrealizability issues, and faster debugging. However, the incremental development method was more natural and easy to use, and specifications developed incrementally were also easier to validate during the development process.
@article{TOSEM25, author = {Ma’ayan, Dor and Maoz, Shahar and Ringert, JAN Oliver}, title = {Exploring Development Methods for Reactive Synthesis Specifications}, year = {2025}, publisher = {Association for Computing Machinery}, address = {New York, NY, USA}, issn = {1049-331X}, doi = {10.1145/3767159}, journal = {ACM Trans. Softw. Eng. Methodol.}, keywords = {specifications, reactive synthesis, development methodologies}, } - ICSEUsing Reactive Synthesis: An End-to-End Exploratory Case StudyDor Ma’ayan, and Shahar MaozIn IEEE/ACM 45th International Conference on Software Engineering (ICSE), 2023
Reactive synthesis is an automated procedure to obtain a correct-by-construction reactive system from its temporal logic specification. Despite its attractiveness and major research progress in the past decades, reactive synthesis is still in early-stage and has not gained popularity outside academia. We conducted an exploratory case study in which we followed students in a semester-long university workshop class on their end-to-end use of a reactive synthesizer, from writing the specifications to executing the synthesized controllers. The data we collected includes more than 500 versions of more than 80 specifications, as well as more than 2500 Slack messages, all written by the class participants. Our grounded theory analysis reveals that the use of reactive synthesis has clear benefits for certain tasks and that adequate specification language constructs assist in the specification writing process. However, inherent issues such as unrealizabilty, non-well-separation, the gap of knowledge between the users and the synthesizer, and considerable running times prevent reactive synthesis from fulfilling its promise. Based on our analysis, we propose action items in the directions of language and specification quality, tools for analysis and execution, and process and methodology, all towards making reactive synthesis more applicable for software engineers.
@inproceedings{Exploratory, author = {Ma'ayan, Dor and Maoz, Shahar}, booktitle = {IEEE/ACM 45th International Conference on Software Engineering (ICSE)}, title = {Using Reactive Synthesis: An End-to-End Exploratory Case Study}, year = {2023}, volume = {}, number = {}, } - ICSETriggers for Reactive Synthesis SpecificationsGal Amram, Dor Ma’ayan, Shahar Maoz, Or Pistiner, and Jan Oliver RingertIn IEEE/ACM 45th International Conference on Software Engineering (ICSE), 2023
Reactive synthesis is an automated procedure to obtain a correct-by-construction reactive system from its temporal logic specification. Two of the main challenges in bringing reactive synthesis to practice are its very high worst-case complexity and the difficulty of writing declarative specifications using basic LTL operators. To address the first challenge, researchers have suggested the GR(1) fragment of LTL, which has an efficient polynomial time symbolic synthesis algorithm. To address the second challenge, specification languages include higher-level constructs that aim at allowing engineers to write succinct and readable specifications. One such construct is the triggers operator, as supported, e.g., in the Property Specification Language (PSL). In this work we introduce triggers into specifications for reactive synthesis. The effectiveness of our contribution relies on a novel encoding of regular expressions using symbolic finite automata (SFA) and on a novel semantics for triggers that, in contrast to PSL triggers, admits an efficient translation into GR(1). We show that our triggers are expressive and succinct, and prove that our encoding is optimal. We have implemented our ideas on top of the Spectra language and synthesizer. We demonstrate the usefulness and effectiveness of using triggers in specifications for synthesis, as well as the challenges involved in using them, via a study of more than 300 triggers written by undergraduate students who participated in a project class on writing specifications for synthesis. To the best of our knowledge, our work is the first to introduce triggers into specifications for reactive synthesis.
@inproceedings{Triggers, author = {Amram, Gal and Ma'ayan, Dor and Maoz, Shahar and Pistiner, Or and Ringert, Jan Oliver}, booktitle = {IEEE/ACM 45th International Conference on Software Engineering (ICSE)}, title = {Triggers for Reactive Synthesis Specifications}, year = {2023}, volume = {}, number = {}, } - SIGGRAPHPenrose: from mathematical notation to beautiful diagramsKatherine Ye, Wode Ni, Max Krieger, Dor Ma’ayan, Jenna Wise, Jonathan Aldrich, Joshua Sunshine, and Keenan CraneACM Transaction on Graphics (SIGGRAPH), 2020
We introduce a system called Penrose for creating mathematical diagrams. Its basic functionality is to translate abstract statements written in familiar math-like notation into one or more possible visual representations. Rather than rely on a fixed library of visualization tools, the visual representation is user-defined in a constraint-based specification language; diagrams are then generated automatically via constrained numerical optimization. The system is user-extensible to many domains of mathematics, and is fast enough for iterative design exploration. In contrast to tools that specify diagrams via direct manipulation or low-level graphics programming, Penrose enables rapid creation and exploration of diagrams that faithfully preserve the underlying mathematical meaning. We demonstrate the effectiveness and generality of the system by showing how it can be used to illustrate a diverse set of concepts from mathematics and computer graphics.
@article{DBLP:journals/tog/YeNKMWASC20, author = {Ye, Katherine and Ni, Wode and Krieger, Max and Ma'ayan, Dor and Wise, Jenna and Aldrich, Jonathan and Sunshine, Joshua and Crane, Keenan}, title = {Penrose: from mathematical notation to beautiful diagrams}, journal = {{ACM Transaction on Graphics (SIGGRAPH)}}, volume = {39}, number = {4}, pages = {144}, year = {2020}, url = {https://doi.org/10.1145/3386569.3392375}, doi = {10.1145/3386569.3392375}, timestamp = {Wed, 07 Dec 2022 00:00:00 +0100}, biburl = {https://dblp.org/rec/journals/tog/YeNKMWASC20.bib}, bibsource = {dblp computer science bibliography, https://dblp.org}, } - CHIHow Domain Experts Create Conceptual Diagrams and Implications for Tool DesignDor Ma’ayan, Wode Ni, Katherine Ye, Chinmay Kulkarni, and Joshua SunshineIn CHI ’20: CHI Conference on Human Factors in Computing Systems, Honolulu, HI, USA, April 25-30, 2020, 2020
Conceptual diagrams are used extensively to understand abstract relationships, explain complex ideas, and solve difficult problems. To illustrate concepts effectively, experts find appropriate visual representations and translate concepts into concrete shapes. This translation step is not supported explicitly by current diagramming tools. This paper investigates how domain experts create conceptual diagrams via semi-structured interviews with 18 participants from diverse backgrounds. Our participants create, adapt, and reuse visual representations using both sketches and digital tools. However, they had trouble using current diagramming tools to transition from sketches and reuse components from earlier diagrams. Our participants also expressed frustration with the slow feedback cycles and barriers to automation of their tools. Based on these results, we suggest four opportunities of diagramming tools — exploration support, representation salience, live engagement, and vocabulary correspondence — that together enable a natural diagramming experience. Finally, we discuss possibilities to leverage recent research advances to develop natural diagramming tools.
@inproceedings{DBLP:conf/chi/MaayanNYKS20, author = {Ma'ayan, Dor and Ni, Wode and Ye, Katherine and Kulkarni, Chinmay and Sunshine, Joshua}, editor = {Bernhaupt, Regina and Mueller, Florian 'Floyd' and Verweij, David and Andres, Josh and McGrenere, Joanna and Cockburn, Andy and Avellino, Ignacio and Goguey, Alix and Bj{\o}n, Pernille and Zhao, Shengdong and Samson, Briane Paul and Kocielnik, Rafal}, title = {How Domain Experts Create Conceptual Diagrams and Implications for Tool Design}, booktitle = {{CHI} '20: {CHI} Conference on Human Factors in Computing Systems, Honolulu, HI, USA, April 25-30, 2020}, pages = {1--14}, publisher = {{ACM}}, year = {2020}, url = {https://doi.org/10.1145/3313831.3376253}, doi = {10.1145/3313831.3376253}, timestamp = {Thu, 23 Jun 2022 19:55:35 +0200}, biburl = {https://dblp.org/rec/conf/chi/MaayanNYKS20.bib}, bibsource = {dblp computer science bibliography, https://dblp.org}, }