Skip to main content

CORG: A Component-Oriented Synthetic Textual Requirements Generator

  • Conference paper
  • First Online:
Book cover Requirements Engineering: Foundation for Software Quality (REFSQ 2021)

Abstract

The majority of requirements formalisation techniques operate on textual requirements as input. To establish and verify the reliability and coverage of such techniques, a large set of textual requirements with diverse structures and formats is required. However, such techniques are typically evaluated on only a few manually curated requirements that do not provide enough coverage of the targeted structures. Motivated by this problem, we introduce a Component-oriented synthetic textual requirements generator (CORG) that can generate large numbers of synthesised diverse-structure textual requirements, along with key components breakdowns. CORG utilises a controlled random-selection (CRS) strategy throughout the backtracking-based generation. We evaluate the coverage, diversity, performance and correctness of CORG. The evaluation results show that CORG can generate comprehensive diverse-structure combinations in reasonable time without being affected by the size of the produced requirements.

Zaki-Ismail and Osama are supported by Deakin PhD scholarships. Grundy is supported by ARC Laureate Fellowship FL190100035.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    CORG Source Code: https://github.com/ABC-7/CORG/tree/main/CORG.

  2. 2.

    Dictionary and Generated-requirements:https://github.com/ABC-7/CORG/tree/main/Experiment.

  3. 3.

    Extraction-Output: https://github.com/ABC-7/CORG/blob/main/Extractionlog.xml.

  4. 4.

    Input-requirements, Used-dictionary, and Resulting-breakdowns for realisticness experiment: https://github.com/ABC-7/CORG/tree/main/ValidationExperiement.

References

  1. Ambriola, V., Gervasi, V.: On the systematic analysis of natural language requirements with circe. Autom. Softw. Eng. 13(1), 107–167 (2006)

    Article  Google Scholar 

  2. Bangalore, S., Rambow, O.: Exploiting a probabilistic hierarchical model for generation. In: Proceedings of the 18th Conference on Computational Linguistics, vol. 1, pp. 42–48. Association for Computational Linguistics (2000)

    Google Scholar 

  3. Bhowmik, T., Niu, N., Mahmoud, A., Savolainen, J.: Automated support for combinational creativity in requirements engineering. In: 2014 IEEE 22nd International Requirements Engineering Conference (RE), pp. 243–252. IEEE (2014)

    Google Scholar 

  4. Burden, H., Heldal, R.: Natural language generation from class diagrams. In: Proceedings of the 8th International Workshop on Model-Driven Engineering, Verification and Validation, pp. 1–8 (2011)

    Google Scholar 

  5. Cabot, J., Pau, R., Raventós, R.: From UML/OCL to SBVR specifications: a challenging transformation. Inf. Syst. 35(4), 417–440 (2010)

    Article  Google Scholar 

  6. Do, Q.A., Bhowmik, T., Bradshaw, G.L.: Capturing creative requirements via requirements reuse: a machine learning-based approach. J. Syst. Softw. 170, 110730 (2020)

    Google Scholar 

  7. Gatt, A., Krahmer, E.: Survey of the state of the art in natural language generation: core tasks, applications and evaluation. J. Artif. Intell. Res. 61, 65–170 (2018)

    Article  MathSciNet  Google Scholar 

  8. Gatt, A., Reiter, E.: SimpleNLG: a realisation engine for practical applications. In: Proceedings of the 12th European Workshop on Natural Language Generation (ENLG 2009), pp. 90–93 (2009)

    Google Scholar 

  9. Ghosh, S., Shankar, N., Lincoln, P., Elenius, D., Li, W., Steiener, W.: Automatic requirements specification extraction from natural language (arsenal). Technical report, SRI INTERNATIONAL MENLO PARK CA (2014)

    Google Scholar 

  10. Hackenberg, R.G.: Generate: a natural language sentence generator. CALICO J. 2(2), 5–8 (2013)

    Article  Google Scholar 

  11. Khachiyan, L., Boros, E., Elbassioni, K., Gurvich, V.: A new algorithm for the hypergraph transversal problem. In: Wang, L. (ed.) COCOON 2005. LNCS, vol. 3595, pp. 767–776. Springer, Heidelberg (2005). https://doi.org/10.1007/11533719_78

    Chapter  MATH  Google Scholar 

  12. Langkilde, I.: Forest-based statistical sentence generation. In: Proceedings of the 1st North American chapter of the Association for Computational Linguistics Conference, pp. 170–177. Association for Computational Linguistics (2000)

    Google Scholar 

  13. Langkilde-Geary, I.: An empirical verification of coverage and correctness for a general-purpose sentence generator. In: Proceedings of the International Natural Language Generation Conference, pp. 17–24 (2002)

    Google Scholar 

  14. Lutovac, M.M., Bojić, D.: Techniques for automated testing of Lola industrial robot language parser. Telfor J. 6(1), 69–74 (2014)

    Article  Google Scholar 

  15. Manning, C.D., Surdeanu, M., Bauer, J., Finkel, J.R., Bethard, S., McClosky, D.: The Stanford CorenLP natural language processing toolkit. In: Proceedings of 52nd Annual Meeting of the Association for Computational Linguistics: System Demonstrations, pp. 55–60 (2014)

    Google Scholar 

  16. Matsumoto, M., Nishimura, T.: Mersenne twister: a 623-dimensionally equidistributed uniform pseudo-random number generator. ACM Trans. Model. Comput. Simul. (TOMACS) 8(1), 3–30 (1998)

    Article  Google Scholar 

  17. Mavin, A., Wilkinson, P., Harwood, A., Novak, M.: Easy approach to requirements syntax (ears). In: 17th IEEE International Requirements Engineering Conference, RE 2009, pp. 317–322. IEEE, August 2009

    Google Scholar 

  18. Meziane, F., Athanasakis, N., Ananiadou, S.: Generating natural language specifications from UML class diagrams. Requirements Eng. 13(1), 1–18 (2008)

    Article  Google Scholar 

  19. Nicolás, J., Toval, A.: On the generation of requirements specifications from software engineering models: a systematic literature review. Inf. Softw. Technol. 51(9), 1291–1307 (2009)

    Article  Google Scholar 

  20. O’Donnell, M.: Sentence analysis and generation-a systemic perspective. Ph.D. thesis, University of Sydney (1994)

    Google Scholar 

  21. Osama, M., Zaki-Ismail, A., Abdelrazek, M., Grundy, J., Ibrahim, A.: Score-based automatic detection and resolution of syntactic ambiguity in natural language requirements. In: 2020 IEEE International Conference on Software Maintenance and Evolution (ICSME), pp. 651–661. IEEE (2020)

    Google Scholar 

  22. Pereira, F.C., Shieber, S.M.: Prolog and Natural-Language Analysis. Microtome Publishing (2002)

    Google Scholar 

  23. Purdom, P.: A sentence generator for testing parsers. BIT Numer. Math. 12(3), 366–375 (1972)

    Article  MathSciNet  Google Scholar 

  24. Qiao, Y., Zhong, K., Wang, H., Li, X.: Developing event-condition-action rules in real-time active database. In: Proceedings of the 2007 ACM Symposium on Applied Computing, pp. 511–516. ACM (2007)

    Google Scholar 

  25. Radanne, G., Thiemann, P.: Regenerate: a language generator for extended regular expressions. In: Proceedings of the 17th ACM SIGPLAN International Conference on Generative Programming: Concepts and Experiences, pp. 202–214. ACM (2018)

    Google Scholar 

  26. Yan, R., Cheng, C.H., Chai, Y.: Formal consistency checking over specifications in natural languages. In: 2015 Design, Automation & Test in Europe Conference & Exhibition (DATE), pp. 1677–1682. IEEE (2015)

    Google Scholar 

  27. Zaki-Ismail, A., Osama, M., Abdelrazek, M., Grundy, J., Ibrahim, A.: RCM-extractor: automated extraction of a semi formal representation model from natural language requirements. In: Proceedings of the 9th International Conference on Model-Driven Engineering and Software Development (2021)

    Google Scholar 

  28. Zaki-Ismail, A., Osama, M., Abdelrazek, M., Grundy, J., Ibrahim, A.: RCM: requirement capturing model for automated requirements formalisation. In: Proceedings of the 9th International Conference on Model-Driven Engineering and Software Development (2021)

    Google Scholar 

  29. Zelenov, S.V., Zelenova, S.A.: Generation of positive and negative tests for parsers. Program. Comput. Softw. 31(6), 310–320 (2005)

    Article  MathSciNet  Google Scholar 

  30. Zheng, L., Ma, S., Wang, Y., Lin, G.: String generation for testing regular expressions. Comput. J. 63, 41–65 (2019)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Aya Zaki-Ismail .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2021 Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Zaki-Ismail, A., Osama, M., Abdelrazek, M., Grundy, J., Ibrahim, A. (2021). CORG: A Component-Oriented Synthetic Textual Requirements Generator. In: Dalpiaz, F., Spoletini, P. (eds) Requirements Engineering: Foundation for Software Quality. REFSQ 2021. Lecture Notes in Computer Science(), vol 12685. Springer, Cham. https://doi.org/10.1007/978-3-030-73128-1_4

Download citation

  • DOI: https://doi.org/10.1007/978-3-030-73128-1_4

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-030-73127-4

  • Online ISBN: 978-3-030-73128-1

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics