EASE: Enabling Hardware Assertion Synthesis from English

  • Rahul KrishnamurthyEmail author
  • Michael S. Hsiao
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 11784)


In this paper, we present EASE (Enabling hardware Assertion Synthesis from English) which translates hardware design specifications written in English to a formal assertion language. Existing natural language processing (NLP) tools for hardware verification utilize the vocabulary and grammar of a few specification documents only. Hence, they lack the ability to provide linguistic variations in parsing and writing natural language assertions. The grammar used in EASE does not follow a strict English syntax for writing design specifications. Our grammar incorporates dependency rules for syntactic categories which are coupled with semantic category dependencies that allow users to specify the same design specification using different word sequences in a sentence. Our NLP engine consists of interleaving operations of semantic and syntactic analyses to understand the input sentences and map differently worded sentences with the same meaning to the same logical form. Moreover, our approach also provides semantically driven suggestions for sentences that are not understood by the system. EASE has been tested on natural language requirements extracted from memory controller, UART and AMBA AXI protocol specification documents. The system has been tested for imperative, declarative and conditional types of specifications. The results show that the proposed approach can handle a more diverse set of linguistic variations than existing methods.


Natural Language Processing Hardware verification Natural language programming 


  1. 1.
    Ray, S., Harris, I.G., Fey, G., Soeken, M.: Multilevel design understanding: from specification to logic. In: 2016 IEEE/ACM International Conference on Computer-Aided Design (ICCAD), pp. 1–6. IEEE (2016)Google Scholar
  2. 2.
    Soeken, M., Harris, C.B., Abdessaied, N., Harris, I.G., Drechsler, R.: Automating the translation of assertions using natural language processing techniques. In: Proceedings of the 2014 Forum on Specification and Design Languages (FDL), Munich, pp. 1–8 (2014)Google Scholar
  3. 3.
    Ghosh, S., Elenius, D., Li, W., Lincoln, P., Shankar, N., Steiner, W.: ARSENAL: automatic requirements specification extraction from natural language. In: Rayadurgam, S., Tkachuk, O. (eds.) NFM 2016. LNCS, vol. 9690, pp. 41–46. Springer, Cham (2016). Scholar
  4. 4.
    Harris, I.G.: Capturing assertions from natural language descriptions. In: 2013 1st International Workshop on Natural Language Analysis in Software Engineering (NaturaLiSE), pp. 17–24. IEEE (2013)Google Scholar
  5. 5.
    Harris, C.B., Harris, I.G.: Generating formal hardware verification properties from natural language documentation. In: 2015 IEEE International Conference on Semantic Computing (ICSC), pp. 49–56. IEEE (2015)Google Scholar
  6. 6.
    Harris, C.B., Harris, I.G.: Glast: learning formal grammars to translate natural language specifications into hardware assertions. In: Design, Automation & Test in Europe Conference & Exhibition (DATE), pp. 966–971. IEEE (2016)Google Scholar
  7. 7.
    Chen, W., Ray, S., Bhadra, J., Abadir, M., Wang, L.C.: Challenges and trends in modern SoC design verification. IEEE Des. Test 34(5), 7–22 (2017)CrossRefGoogle Scholar
  8. 8.
    Kamsties, E., Berry, D.M., Paech, B.: Detecting ambiguities in requirements documents using inspections. In: Proceedings of the First Workshop on Inspection in Software Engineering (WISE01), pp. 68–80 (2001)Google Scholar
  9. 9.
    Berry, D.M.: Ambiguity in natural language requirements documents. In: Paech, B., Martell, C. (eds.) Monterey Workshop 2007. LNCS, vol. 5320, pp. 1–7. Springer, Heidelberg (2008). Scholar
  10. 10.
    Hsiao, M.S.: Automated program synthesis from object-oriented natural language for computer games. In: The International Workshop on Controlled Natural Language, August 2018Google Scholar
  11. 11.
    Krishnamurthy, R., Hsiao, M.S.: Controlled natural language framework for generating assertions from hardware specifications. In: 2019 IEEE 13th International Conference on Semantic Computing (ICSC), pp. 367–370. IEEE (2019)Google Scholar
  12. 12.
    Nivre, J.: Dependency grammar and dependency parsing. MSI report 5133, no. 1959, pp. 1–32 (2005)Google Scholar
  13. 13.
    Nivre, J.: An efficient algorithm for projective dependency parsing. In: Proceedings of the 8th International Workshop on Parsing Technologies (IWPT) (2003)Google Scholar
  14. 14.
    Kuhn, T., Schwitter, R.: Writing support for controlled natural languages. In: Proceedings of the Australasian Language Technology Association Workshop 2008, pp. 46–54 (2008)Google Scholar
  15. 15.
    Gorban, J.: UART IP core specification. Architecture 15, 1 (2002)Google Scholar
  16. 16.
  17. 17.
    Vijayaraghavan, S., Meyyappan, R.: A Practical Guide for SystemVerilog Assertions. Springer, New York (2005).
  18. 18.
    AMBA 3 AXI Protocol Checker User Guide, r0p1 ed., ARM, June 2009Google Scholar

Copyright information

© Springer Nature Switzerland AG 2019

Authors and Affiliations

  1. 1.Department of Electrical and Computer EngineeringVirginia Tech BlacksburgBlacksburgUSA

Personalised recommendations