一句话:通过学期工作坊的端到端案例研究,揭示反应式合成的收益与障碍,并提出改进方向。
反应式合成可从时序逻辑规约自动构造正确性保证的反应式系统,但尚未在学术界外普及。本文开展探索性案例研究,跟踪学生在一学期工作坊中端到端使用反应式合成器:从编写规约到执行合成控制器。数据包括80多份规约的500多个版本及2500多条Slack消息,并用扎根理论分析。结果显示,反应式合成对某些任务有明显收益,充分的规约语言构造有助于编写规约;但不可实现性、非良分离、用户与合成器间的知识鸿沟及较长运行时间阻碍其兑现承诺。基于分析,作者从语言与规约质量、分析与执行工具、过程与方法论提出行动项,以推动其更适用于软件工程师。
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.