skip to main content
10.1145/3341105.3374028acmconferencesArticle/Chapter ViewAbstractPublication PagessacConference Proceedingsconference-collections
research-article

Towards the improvement of natural language requirements descriptions: the C&L tool

Published: 30 March 2020 Publication History

Abstract

A natural language-based requirements specification tends to be full of requirements that are ambiguous, unnecessarily complicated, missing, wrong, duplicated or conflicting. Poor quality requirements often compromise the subsequent software construction activities (e.g. planning, design, coding or testing). A strategy for requirements quality evaluation should enable a faster requirements analysis, highlight defect indicators and incorporate also fix recommendations to help practitioners to effectively improve their requirements. In this paper we brief describe a Natural Language Processing and Petri-Net strategy for automated analysis of scenario-driven requirements named C&L prototype tool. The C&L evaluates structural (Static analysis) aspects of scenarios and behavioral aspects (Dynamic analysis) of equivalent Petri-Nets. The feasibility of the C&L is evaluated in four projects described as use cases, which indicates promising results (the overall precision was 93.5% and the recalls were perfect).

References

[1]
Camille B. Achour, Colette Rolland, Neil A. Maiden, and Carine Souveyet. 1999. Guiding use case authoring results of an empirical study. In Proceedings of the IEEE International Symposium on requirements Engineering. 36--43.
[2]
Bende Anda, Kai Hansen, and Gunhild Sand. 2009. An investigation of use case quality in a large safety-critical software development project. Information and Software Technology 51 (2009), 1699--1711. Issue 12.
[3]
Chetan Arora, Mehrdad Sabetzadeh, Lionel Briand, and Frank Zimmer. 2015. Automated checking of conformance to requirements templates using natural language processing. IEEE Transactions on Software Engineering 41, 10 (2015), 944--968.
[4]
Frederik S. Bäumer and Michaela Geierhos. 2018. Flexible ambiguity resolution and incompleteness detection in requirements descriptions via and indicator-based configuration of text analysis pipelines. In Proceedings of the 51st Hawaii International Conference on System Sciences. 5746--5755.
[5]
Barry W. Boehm. 1979. Guidelines for verifying and validating software requirements and design specifications. In Proceedings of the European Conference Applied Information Technology. 711--719.
[6]
Barry W. Boehm and Philip N. Papaccio. 1988. Understanding and Controlling Software Costs. IEEE Transactions on Software Engineering 14, 10 (1988), 1462--1477.
[7]
C & L. 2019. Scenarios & Lexicons. https://github.com/edgarsc22/WACeL-Java.
[8]
K. S. Cheung, T. Y. Cheung, and K. O. Chow. 2006. A petri-net-based synthesis methodology for use-case-driven system design. Journal of Systems and Software 79, 6 (2006), 772--790.
[9]
Minh-Hue Chu, Duc-Hanh Dang, Ngoc-Binh Nguyen, Minh-Duc Le, and Thi-Hanh Nguyen. 2017. Towards Precise Specification of Use Case for Model-driven Development. In Proceedings of the Eighth International Symposium on Information and Communication Technology (SoICT 2017). ACM, 401--408.
[10]
Alicja Ciemniewska and Jakub Jurkiewicz. 2007. Automatic detection off defects in use cases. Master's thesis. Poznan University of Technology, Faculty of Computer Science and Management, Institute of Computer Science.
[11]
Alistair Cockburn. 2000. Writing effective use cases (1st ed.). Addison-Wesley Longman Publishing Co., Inc., Boston, MA, USA.
[12]
Karl Cox, Aybuke Aurum, and Ross Jeffery. 2003. A use case description inspection experiment. In Proceedings of the Australian workshop on software requirements.
[13]
Karl Cox and Keith Phalp. 2000. Replicating the Crews use case authoring guidelines experiment. Empirical Software Engineering 5, 3 (2000), 245--267.
[14]
Christian Denger, Barbara Paech, and Bernd Freimut. 2005. Achieving high quality of use-ase-based requirements. Informatik - Forschung und Entwicklung 20, 1--2 (2005), 11--23.
[15]
Nicholas J. Dingle, William J. Knottenbelt, and Tamas Suto. 2009. PIPE2: A tool for the performance evaluation of generalised stochastic Petri Nets. ACM SIGMETRICS Performance Evaluation Review 36, 4 (01 2009), 34--39.
[16]
Henning Femmer, Daniel Mendez Fernandez, Stefan Wagner, and Sebastian Eder. 2017. Rapid quality assurance with Requirements Smells. Journal of Systems and Software 123 (2017), 190--213.
[17]
Alessio Ferrari, Gloria Gori, Benedetta Rosadini, Iacopo Trotta, Stefano Bacherini, Alessandro Fantechi, and Stefania Gnesi. 2018. Detecting requirements defects with NLP patterns: an industrial experience in the railway domain. Empirical Software Engineering 23, 6 (2018), 3684--3733.
[18]
Donald Firesmith. 2007. Common Requirements Problems, their negative consequences and the Industry best practices to help solve them. Journal of Object Technology 6, 1 (2007), 17--33.
[19]
Martin Glinz. 2000. Improving the quality of requirements with scenarios. In Proceedings of the Second World Congress for Software Quality. Yokohama, 55--60.
[20]
Giuseppe Lami, Stefania Gnesi, Fabrizio Fabbrini, Mario Fusani, and Gianluca Trentanni. 2004. An Automatic Tool for the Analysis of Nature Languaje Requirements.
[21]
Woo J. Lee, Yong R. Kwon, and Sung D. Cha. 1998. Integration and Analysis of Use Cases Using Modular Petri Nets in Requirements Engineering. IEEE Transactions on Software Engineering 24, 12 (1998), 1115--1130.
[22]
Julio C. S. P. Leite, Jorge H. Doorn, Graciela D. Hadad, and Gladys N. Kaplan. 2005. Scenario inspections. Requirements Engineering 10, 1 (2005), 1--21.
[23]
Julio C. S. P. Leite, Graciela D. Hadad, Jorge H. Doorn, and Gladys N. Kaplan. 2000. A Scenario construction process. Requirements Engineering Journal 5, 1 (2000), 38--61.
[24]
Shuang Liu, Jun Sun, Yang Liu, Yue Zhang, Bimlesh Wadhwa, Jin Song Dong, and Xinyu Wang. 2014. Automatic early defects detection in use case documents. In Proceedings of the 29th ACM/IEEE International Conference on Automate Software Engineering (ASE '14). ACM, New York, NY, USA, 785--790.
[25]
Garm Lucassen, Fabiano Dalpiaz, Jan M. E. M. van der Werf, and Sjaak Brinkkemper. 2015. Forging high-quality user stories: Towards a discipline for agile requirements. In 2015 IEEE 23rd International Requirements Engineering Conference (RE). 126--135.
[26]
Christopher Manning, Mihai Surdeanu, John Bauer, Jenny Finkel, Steven Bethard, and David McClosky. 2014. The Standford Core NLP natural language processing toolkit. In Proceedings of 52nd annual meeting of the association for computational linguistics: system demostrations. Association for Computational Linguistics, Baltimore, Maryland, 55--60.
[27]
Tadao Murata. 1989. Petri nets: Properties, analysis and applications. Proc. IEEE 77, 4 (1989), 541--580.
[28]
Keith T. Phalp, Jonathan Vincent, and Karl Cox. 2007. Assessing the quality of use case descriptions. Software Quality Journal 15, 1 (2007), 69--97.
[29]
PMI. 2014. Requirements Management: Core Competency for Project and Program Success. In-Depth Report. Internet.
[30]
Edgar Sarmiento. 2016. Analysis of Natural Language Scenarios. D. Sc. Thesis. PUC-Rio.
[31]
Edgar Sarmiento. 2019. Construcción de una Herramienta para el Análisis de Requisitos de Software Descritos en Lenguaje Natural. Bachelor's Thesis. UNSA.
[32]
Edgar Sarmiento, Julio C. S. P. Leite, and Eduardo Almentero. 2015. Analysis of scenarios with Petri-Net models. In 2015 29th Brazilian Symposium on Software Engineering (SBES). Belo Horizonte, 90--99.
[33]
Edgar Sarmiento, Julio C. S. P. Leite, Eduardo Almentero, and Guina S. Alzamora. 2016. Test scenario generation from natural language requirements descriptions based on Petri-Nets. Electronic Notes in Theoretical Computer Science 329 (2016), 123--148.
[34]
Avik Sinha, Stanley M Sutton, and Amit Paradkar. 2010. Text2Test: Automated inspection of natural language use cases. In Third International Conference on Software Testing Verification and Validation (ICST). 155--164.
[35]
Daniel Sinning, Patrice Chalin, and Ferhat Khendek. 2009. LTS semantics for use case models. In Proceedings of the 2009 ACM Symposium on Applied Computing (SAC '09). ACM, New York, NY, USA, 365--370.
[36]
Fabio L. Siqueira and Paulo S. M. Silva. 2011. An essential textual use case meta-model based on an analysis of existing proposals. In Anais do Workshop em Engenharia de Requisitos (WER11).
[37]
IEEE Computer Society. 1998. IEEE Recommended practice for software requirements specifications.
[38]
Stephane S. Somé. 2010. Formalization of textual use cases based on Petri Nets. International Journal of Software Engineering and Knowledge Engineering 20 (2010), 695--737. Issue 5.
[39]
The Standish Group. 2016. Chaos Report. Internet. https://www.standishgroup.com/outline
[40]
Saurabh Tiwari and Atul Gupta. 2015. A sistematic literature review of use case specification research. Information and Software Technology 67 (2015), 128--158.
[41]
Sri F. Tjong. 2008. Avoiding ambiguity in requirements specifications. D. Sc. Thesis. University of Nottingham Malaysia Campus.
[42]
Willem Van Galen. 2012. Use Case Goals.
[43]
William M. Wilson, Linda H. Rosernberg, and Lawrence E. Hyatt. 1997. Automated Analysis of Requirement Specifications. In Proceedings of the 19th International Conference on Software Engineering (ICSE '97).
[44]
Tao Yue, Lionel C. Briand, and Yvan Labiche. 2013. Facilitating the transition from use case models to analysis models: Approach and experiments. ACM Transactions on Software Engineering and Methodology (TOSEM), 22, Article 5 (2013), 38 pages. Issue 1.

Cited By

View all
  • (2024)Early analysis of requirements using NLP and Petri-netsJournal of Systems and Software10.1016/j.jss.2023.111901208:COnline publication date: 1-Feb-2024
  • (2023)Mapeo sistemático de la literatura sobre los malos olores en los requisitos de desarrollo de softwareRevista Facultad de Ingeniería10.19053/01211129.v32.n63.2023.1523332:63(e15233)Online publication date: 9-Feb-2023
  • (2021)Text mining tool for translating terms of contract into technical specifications: Development and application in the railway sectorComputers in Industry10.1016/j.compind.2020.103357124(103357)Online publication date: Jan-2021

Index Terms

  1. Towards the improvement of natural language requirements descriptions: the C&L tool

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM Conferences
    SAC '20: Proceedings of the 35th Annual ACM Symposium on Applied Computing
    March 2020
    2348 pages
    ISBN:9781450368667
    DOI:10.1145/3341105
    Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

    Sponsors

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 30 March 2020

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. analysis
    2. automation
    3. quality
    4. requirement
    5. scenario
    6. use case

    Qualifiers

    • Research-article

    Funding Sources

    • Universidad Nacional de San Agustin de Arequipa

    Conference

    SAC '20
    Sponsor:
    SAC '20: The 35th ACM/SIGAPP Symposium on Applied Computing
    March 30 - April 3, 2020
    Brno, Czech Republic

    Acceptance Rates

    Overall Acceptance Rate 1,650 of 6,669 submissions, 25%

    Upcoming Conference

    SAC '25
    The 40th ACM/SIGAPP Symposium on Applied Computing
    March 31 - April 4, 2025
    Catania , Italy

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)20
    • Downloads (Last 6 weeks)1
    Reflects downloads up to 25 Feb 2025

    Other Metrics

    Citations

    Cited By

    View all
    • (2024)Early analysis of requirements using NLP and Petri-netsJournal of Systems and Software10.1016/j.jss.2023.111901208:COnline publication date: 1-Feb-2024
    • (2023)Mapeo sistemático de la literatura sobre los malos olores en los requisitos de desarrollo de softwareRevista Facultad de Ingeniería10.19053/01211129.v32.n63.2023.1523332:63(e15233)Online publication date: 9-Feb-2023
    • (2021)Text mining tool for translating terms of contract into technical specifications: Development and application in the railway sectorComputers in Industry10.1016/j.compind.2020.103357124(103357)Online publication date: Jan-2021

    View Options

    Login options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Figures

    Tables

    Media

    Share

    Share

    Share this Publication link

    Share on social media