Abstract
Most existing (semi-)automated requirements formalisation techniques assume requirements to be specified in predefined templates. They also employ template-specific transformation rules to provide the corresponding formal representation. Hence, such techniques have limited expressiveness and more importantly require system engineers to re-write their system requirements following defined templates for maintenance and evolution. In this paper, we introduce an automated requirements extraction technique (RCM-Extractor) to automatically extract the key constructs of a comprehensive and formalisable semi-formal representation model from textual requirements. This avoids the expressiveness issues affecting the existing requirement specification templates, and eliminates the need to rewriting the requirements to match the structure of such templates. We evaluated RCM-Extractor on a dataset of 162 requirements curated from several papers in the literature. RCM-Extractor achieved 87% precision, 98% recall, 92% F-measure, and 86% accuracy. In addition, we evaluated the capabilities of RCM-Extractor to extract requirements on a dataset of 15,000 automatically synthesised requirements that are constructed specifically to evaluate our approach. This dataset has a complete coverage of the possible structures and arrangements of the properties that can exist in system requirements. Our approach achieved 57%, 92% and 100% accuracy for un-corrected, partially-corrected and fully-corrected Stanford typed-dependencies representations of the synthesised requirements, respectively.
Similar content being viewed by others
Notes
Enhanced-DSSAM TDs Rules: https://github.com/ABC-7/RequirementsExtraction/blob/main/EnDSSAMRules.pdf.
Datasets of 162 requirements and the corresponding RCM-Extractor output https://github.com/ABC-7/RequirementsExtraction/tree/main/RealRequirement-Experiment.
DSSAM, EnhancedDSSAM, and HybridDSSAM conducted evaluation sheet https://github.com/ABC-7/RequirementsExtraction/blob/main/RCM-ExtractorEvaluation-OnRealDatasets.xlsx.
Synthesised requirements and the corresponding RCM-Extraction output: https://github.com/ABC-7/RequirementsExtraction/tree/main/Synthesised-Experiment.
Synthesised requirements results: https://github.com/ABC-7/RequirementsExtraction/blob/main/RCM-ExtractorEvaluation-OnSynthesiedDatasets.xlsx.
References
Bitsch, F.: Safety patterns—the key to formal specification of safety requirements. In: International Conference on Computer Safety, Reliability, and Security, pp. 176–189. Springer (2001)
Brunello, A., Montanari, A., Reynolds, M.: Synthesis of ltl formulas from natural language texts: State of the art and research directions. In: 26th International Symposium on Temporal Representation and Reasoning (TIME 2019). Schloss Dagstuhl-Leibniz-Zentrum fuer Informatik (2019)
Buzhinsky, I.: Formalization of natural language requirements into temporal logics: a survey. In: 2019 IEEE 17th International Conference on Industrial Informatics (INDIN), vol. 1, pp. 400–406. IEEE (2019)
Buzhinsky, I.: Formalization of natural language requirements into temporal logics: a survey pp. 400–406 (2019)
Das, B., Majumder, M., Phadikar, S.: A novel system for generating simple sentences from complex and compound sentences. Int. J. Modern Educ. Comput. Sci. 11(1), 57 (2018)
Dick, J., Hull, E., Jackson, K.: Requirements engineering. Springer (2017)
Ferrari, A., Spagnolo, G.O., Gnesi, S.: Pure: A dataset of public requirements documents. In: 2017 IEEE 25th International Requirements Engineering Conference (RE), pp. 502–505. IEEE (2017)
Fifarek, A.W., Wagner, L.G., Hoffman, J.A., Rodes, B.D., Aiello, M.A., Davis, J.A.: Spear v2. 0: Formalized past ltl specification and analysis of requirements. In: NASA Formal Methods Symposium, pp. 420–426. Springer (2017)
Fu, R., Bao, X., Zhao, T.: Generic safety requirements description templates for the embedded software. In: 2017 IEEE 9th International Conference on Communication Software and Networks (ICCSN), pp. 1477–1481. IEEE (2017)
Ghosh, S., Elenius, D., Li, W., Lincoln, P., Shankar, N., Steiner, W.: Arsenal: automatic requirements specification extraction from natural language. In: NASA Formal Methods Symposium, pp. 41–46. Springer (2016)
Houdek, F.: System requirements specification automotive system cluster(elc and acc). Technical University of Munich (2013)
Huddleston, R., Pullum, G.: The cambridge grammar of the english language. Zeitschrift für Anglistik und Amerikanistik 53(2), 193–194 (2005)
Jeannet, B., Gaucher, F.: Debugging embedded systems requirements with stimulus: an automotive case-study (2016)
Justice, B.: Natural language specifications for safety-critical systems. Master’s thesis, Carl von Ossietzky Universität (2013)
Kamp, H.: A theory of truth and semantic representation. Formal semantics-the essential readings, pp. 189–222 (1981)
Konrad, S., Cheng, B.H.: Real-time specification patterns. In: Proceedings of the 27th international conference on Software engineering, pp. 372–381. ACM (2005)
Leech, G., Deuchar, M., Hoogenraad, R.: English Grammar for Today. Palgrave Macmillan UK (1982). https://doi.org/10.1007/978-1-349-16878-1
Lúcio, L., Rahman, S., Bin Abid, S., Mavin, A.: Ears-ctrl: Generating controllers for dummies. In: MODELS (Satellite Events), pp. 566–570 (2017)
Lúcio, L., Rahman, S., Cheng, C.H., Mavin, A.: Just formal enough? automated analysis of ears requirements. In: NASA Formal Methods Symposium, pp. 427–434. Springer (2017)
Marko, N., Leitner, A., Herbst, B., Wallner, A.: Combining xtext and oslc for integrated model-based requirements engineering. In: 2015 41st Euromicro Conference on Software Engineering and Advanced Applications, pp. 143–150. IEEE (2015)
Mavin, A., Wilkinson, P., Harwood, A., Novak, M.: Easy approach to requirements syntax (ears). In: Requirements Engineering Conference, 2009. RE’09. 17th IEEE International, pp. 317–322. IEEE (2009)
Nelken, R., Francez, N.: Automatic translation of natural language system specifications into temporal logic. In: International Conference on Computer Aided Verification, pp. 360–371. Springer (1996)
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)
Pohl, K., Rupp, C.: Requirements Engineering Fundamentals. Rocky Nook (2011)
R. S. Fuchs, N.E.: Attempto controlled english (ace). In: CLAW 96, First International Workshop on Controlled Language Applications. Katholieke Universiteit, Leuven (1996)
Sládeková, V.: Methods used for requirements engineering. Master’s thesis, Univerzity Komenského (2007)
Sturla, G.: A two-phased approach for natural language parsing into formal logic. Ph. D. thesis, Massachusetts Institute of Technology (2017)
Teige, T., Bienmüller, T., Holberg, H.J.: Universal pattern: Formalization, testing, coverage, verification, and test case generation for safety-critical requirements. pp. 6–9. MBMV (2016)
Thyssen, J., Hummel, B.: Behavioral specification of reactive systems using stream-based i/o tables. Softw. Syst. Model. 12(2), 265–283 (2013)
Yan, R., Cheng, C.H., Chai, Y.: Formal consistency checking over specifications in natural languages. In: 2015 Design, Automation and Test in Europe Conference and Exhibition (DATE), pp. 1677–1682. IEEE (2015)
Zaki-Ismail, A., Osama, M., Abdelrazek, M., Grundy, J., Ibrahim, A.: Corg: A component-oriented synthetic textual requirements generator. In: Requirements Engineering: Foundation for Software Quality: 27th International Working Conference, REFSQ 2021, Essen, Germany, April 12–15, (2021), Proceedings. Springer Nature
Zaki-Ismail, A., Osama, M., Abdelrazek, M., Grundy, J., Ibrahim, A.: Rcm: Requirement capturing model for automated requirements formalisation (2020)
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: MODELSWARD 2021-9th International Conference on Model-Driven Engineering and Software Development (2021)
Zaki-Ismail, A., Osama, M., Abdelrazek, M., Grundy, J., Ibrahim, A.: Requirements formality levels analysis and transformation of formal notations into semi-formal and informal notations. In: SEKE (2021)
Zhao, L., Alhoshan, W., Ferrari, A., Letsholo, K.J., Ajagbe, M.A., Chioasca, E.V., Batista-Navarro, R.T.: Natural language processing (nlp) for requirements engineering: a systematic mapping study. arXiv preprint arXiv:2004.01099 (2020)
Author information
Authors and Affiliations
Corresponding author
Additional information
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Rights and permissions
About this article
Cite this article
Zaki-Ismail, A., Osama, M., Abdelrazek, M. et al. RCM-extractor: an automated NLP-based approach for extracting a semi formal representation model from natural language requirements. Autom Softw Eng 29, 10 (2022). https://doi.org/10.1007/s10515-021-00312-y
Received:
Accepted:
Published:
DOI: https://doi.org/10.1007/s10515-021-00312-y