Automated Generation of LTL Specifications For Smart Home IoT Using Natural Language

Ordinary users can build their smart home automation system easily nowadays, but such user-customized systems could be error-prone. Using formal verification to prove the correctness of such systems is necessary. However, to conduct formal proof, formal specifications such as Linear Temporal Logic (LTL) formulas have to be provided, but ordinary users cannot author LTL formulas but only natural language.To address this problem, this paper presents a novel approach that can automatically generate formal LTL specifications from natural language requirements based on domain knowledge and our proposed ambiguity refining techniques. Experimental results show that our approach can achieve a high correctness rate of 95.4% in converting natural language sentences into LTL formulas from 481 requirements of real examples.

[1]  Shan Lu,et al.  AutoTap: Synthesizing and Repairing Trigger-Action Programs Using LTL Properties , 2019, 2019 IEEE/ACM 41st International Conference on Software Engineering (ICSE).

[2]  Zhao Li,et al.  Systematically Debugging IoT Control System Correctness for Building Automation , 2016, BuildSys@SenSys.

[3]  Dongmei Zhang,et al.  Systematically Ensuring the Confidence of Real-Time Home Automation IoT Systems , 2018, ACM Trans. Cyber Phys. Syst..

[4]  Lionel C. Briand,et al.  Automatic generation of system test cases from use case specifications , 2015, ISSTA.

[5]  Roger Levy,et al.  Tregex and Tsurgeon: tools for querying and manipulating tree data structures , 2006, LREC.

[6]  Xiangyu Zhang,et al.  Automatic Model Generation from Documentation for Java API Functions , 2016, 2016 IEEE/ACM 38th International Conference on Software Engineering (ICSE).

[7]  Chih-Hong Cheng,et al.  Formal consistency checking over specifications in natural languages , 2015, 2015 Design, Automation & Test in Europe Conference & Exhibition (DATE).

[8]  Dan Klein,et al.  Accurate Unlexicalized Parsing , 2003, ACL.

[9]  Hsu-Chun Hsiao,et al.  SafeChain: Securing Trigger-Action Programming From Attack Chains , 2019, IEEE Transactions on Information Forensics and Security.

[10]  Natarajan Shankar,et al.  ARSENAL: Automatic Requirements Specification Extraction from Natural Language , 2014, NFM.

[11]  Fred Kröger,et al.  Temporal Logic of Programs , 1987, EATCS Monographs on Theoretical Computer Science.

[12]  George S. Avrunin,et al.  Patterns in property specifications for finite-state verification , 1999, Proceedings of the 1999 International Conference on Software Engineering (IEEE Cat. No.99CB37002).

[13]  Ratul Mahajan,et al.  Systematically Exploring the Behavior of Control Programs , 2015, USENIX Annual Technical Conference.

[14]  Hadas Kress-Gazit,et al.  Translating Structured English to Robot Controllers , 2008, Adv. Robotics.

[15]  C. Anantaram,et al.  Formalizing and Verifying Natural Language System Requirements using Petri Nets and Context based Reasoning , 2018, MRC@IJCAI.

[16]  Imran Sarwar Bajwa,et al.  NL2 Alloy: A Tool to Generate Alloy from NL Constraints , 2012, J. Digit. Inf. Manag..

[17]  Christopher D. Manning,et al.  Generating Typed Dependency Parses from Phrase Structure Parses , 2006, LREC.

[18]  Muhammad Ali Babar,et al.  An Automated Tool for Generating UML Models from Natural Language Requirements , 2009, 2009 IEEE/ACM International Conference on Automated Software Engineering.