GLAsT: Learning formal grammars to translate natural language specifications into hardware assertions

The purpose of functional verification is to ensure that a design conforms to its specification. However, large written specifications can contain hundreds of statements describing correct operation which an engineer must use to create sets of correctness properties. This laborious manual process increases both verification time and cost. In this work we present GLAsT, a new learning algorithm which accepts a small set of sentences describing correctness properties and corresponding SystemVerilog Assertions (SVAs). GLAsT creates a custom formal grammar which captures the writing style and sentence structure of a specification and facilitates the automatic translation of English specification sentences into formal SystemVerilog Assertions. We evaluate GLAsT on English sentences from two ARM AMBA bus protocols. Results show that a translation system using the formal grammar generated by GLAsT automatically generates correctly formed SVAs from the targeted AMBA specification as well as from a second, different AMBA bus specification.

[1]  Ian G. Harris Extracting design information from natural language specifications , 2012, DAC Design Automation Conference 2012.

[2]  Claude Sammut Beam Search , 2017, Encyclopedia of Machine Learning and Data Mining.

[3]  Taylor L. Booth,et al.  Grammatical Inference: Introduction and Survey-Part I , 1986, IEEE Transactions on Pattern Analysis and Machine Intelligence.

[4]  Ian G. Harris,et al.  Generating formal hardware verification properties from Natural Language documentation , 2015, Proceedings of the 2015 IEEE 9th International Conference on Semantic Computing (IEEE ICSC 2015).

[5]  Rolf Drechsler,et al.  Automating the translation of assertions using natural language processing techniques , 2014, Proceedings of the 2014 Forum on Specification and Design Languages (FDL).

[6]  Patrizia Grifoni,et al.  A survey of grammatical inference methods for natural language learning , 2011, Artificial Intelligence Review.

[7]  Ewan Klein,et al.  Natural Language Processing with Python , 2009 .

[8]  Georgios Paliouras,et al.  e-GRIDS: Computationally Efficient Gramatical Inference from Positive Examples , 2004, Grammars.

[9]  Stuart C. Shapiro,et al.  Encyclopedia of artificial intelligence, vols. 1 and 2 (2nd ed.) , 1992 .

[10]  Kanad K. Biswas,et al.  Automated generation of activity and sequence diagrams from natural language requirements , 2014, 2014 9th International Conference on Evaluation of Novel Approaches to Software Engineering (ENASE).

[11]  Robert Wille,et al.  Formal Specification Level: Towards verification-driven design based on natural language processing , 2012, Proceeding of the 2012 Forum on Specification and Design Languages.

[12]  Robert Wille,et al.  Keynote: Formal specification level: Towards verification-driven design based on natural language processing , 2012, FDL 2012.

[13]  Eman El Mandouh,et al.  Automatic generation of hardware design properties from simulation traces , 2012, 2012 IEEE International Symposium on Circuits and Systems.

[14]  David Tcheng,et al.  GoldMine: Automatic assertion generation using data mining and static analysis , 2010, 2010 Design, Automation & Test in Europe Conference & Exhibition (DATE 2010).

[15]  Ian G. Harris,et al.  Capturing assertions from natural language descriptions , 2013, 2013 1st International Workshop on Natural Language Analysis in Software Engineering (NaturaLiSE).

[16]  J. Rissanen Stochastic Complexity in Statistical Inquiry Theory , 1989 .

[17]  Donald E. Knuth,et al.  Semantics of context-free languages , 1968, Mathematical systems theory.

[18]  Robert Wille,et al.  Generating formal system models from natural language descriptions , 2012, 2012 IEEE International High Level Design Validation and Test Workshop (HLDVT).

[19]  Md. Rizwan Beg,et al.  Generation of Test Cases from Software Requirements Using Natural Language Processing , 2013, 2013 6th International Conference on Emerging Trends in Engineering and Technology.

[20]  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.

[21]  Amir Hekmatpour,et al.  Block-based Schema-driven Assertion Generation for Functional Verification , 2005, 14th Asian Test Symposium (ATS'05).

[22]  Julio Cesar Sampaio do Prado Leite,et al.  C&L: Generating model based test cases from natural language requirements descriptions , 2014, 2014 IEEE 1st International Workshop on Requirements Engineering and Testing (RET).

[23]  R. Mitkov ANAPHORA RESOLUTION: THE STATE OF THE ART , 2007 .