Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
research-article

On systematically building a controlled natural language for functional requirements

Published: 01 July 2021 Publication History

Abstract

Natural language (NL) is pervasive in software requirements specifications (SRSs). However, despite its popularity and widespread use, NL is highly prone to quality issues such as vagueness, ambiguity, and incompleteness. Controlled natural languages (CNLs) have been proposed as a way to prevent quality problems in requirements documents, while maintaining the flexibility to write and communicate requirements in an intuitive and universally understood manner. In collaboration with an industrial partner from the financial domain, we systematically develop and evaluate a CNL, named Rimay, intended at helping analysts write functional requirements. We rely on Grounded Theory for building Rimay and follow well-known guidelines for conducting and reporting industrial case study research. Our main contributions are: (1) a qualitative methodology to systematically define a CNL for functional requirements; this methodology is intended to be general for use across information-system domains, (2) a CNL grammar to represent functional requirements; this grammar is derived from our experience in the financial domain, but should be applicable, possibly with adaptations, to other information-system domains, and (3) an empirical evaluation of our CNL (Rimay) through an industrial case study. Our contributions draw on 15 representative SRSs, collectively containing 3215 NL requirements statements from the financial domain. Our evaluation shows that Rimay is expressive enough to capture, on average, 88% (405 out of 460) of the NL requirements statements in four previously unseen SRSs from the financial domain.

References

[1]
Ahonen JJ and Savolainen PSoftware engineering projects may fail before they are started: Post-mortem analysis of five cancelled projectsJ Syst Softw201083112175-2187https://doi.org/10.1016/j.jss.2010.06.023
[2]
Alférez M, Pastore F, Sabetzadeh M, Briand LC, Riccardi J (2019) Bridging the gap between requirements modeling and behavior-driven development. In: Kessentini M, Yue T, Pretschner A, Voss S, Burgueṅo L (eds) 22nd ACM/IEEE International conference on model driven engineering languages and systems, MODELS 2019, Munich, Germany, September 15-20, 2019. IEEE, pp 239–249.
[3]
Arora C, Sabetzadeh M, Briand LC, and Zimmer FAutomated checking of conformance to requirements templates using natural language processingIEEE Trans Software Eng20154110944-968https://doi.org/10.1109/TSE.2015.2428709
[4]
Arora C, Sabetzadeh M, Briand LC, and Zimmer FAutomated extraction and clustering of requirements glossary termsIEEE Trans Software Eng20174310918-945https://doi.org/10.1109/TSE.2016.2635134
[5]
Badampudi D, Wohlin C, and Petersen KSoftware component decision-making: In-house, oss, COTS or outsourcing - A systematic literature reviewJ Syst Softw2016121105-124https://doi.org/10.1016/j.jss.2016.07.027
[6]
Bettini L Implementing domain-specific languages with Xtext and Xtend 2013 Birmingham Packt Publishing
[7]
Boehm B and Basili VTop 10 list [software development]Computer2001341135-137https://doi.org/10.1109/2.962984
[8]
Bolander P and Sandberg J How employee selection decisions are made in practice Organ. Stud. 2013 34 3 285-311
[9]
Carvalho G, Falcȧo D, de Almeida Barros F, Sampaio A, Mota A, Motta L, and Blackburn MRNat2testscr: Test case generation from natural language requirements based on SCR specificationsSci Comput Program201495275-297https://doi.org/10.1016/j.scico.2014.06.007
[10]
Crapo AW, Moitra A, McMillan C, Russell D (2017) Requirements capture and analysis in ASSERT(TM). In: Moreira A, Arau̇jo J, Hayes J, Paech B (eds) 25th IEEE international requirements engineering conference, RE 2017, Lisbon, Portugal, September 4-8, 2017. IEEE Computer Society, pp 283–291.
[11]
Denger C, Berry DM, Kamsties E (2003) Higher quality requirements specifications through natural language patterns. In: 2003 IEEE International conference on software - science, technology and engineering (SwSTE 2003), 4-5 November, 2003. IEEE Computer Society, Herzelia, p 80
[12]
Dick J, Hull MEC, and Jackson KRequirements engineering20174th edn.BerlinSpringerhttps://doi.org/10.1007/978-3-319-61073-3
[13]
Dietterich TGApproximate statistical test for comparing supervised classification learning algorithmsNeural Comput.19981071895-1923https://doi.org/10.1162/089976698300017197
[14]
Eckhardt J, Vogelsang A, Femmer H, Mager P (2016) Challenging incompleteness of performance requirements by sentence patterns. In: 24th IEEE international requirements engineering conference, RE 2016, Beijing, China, September 12-16, 2016. IEEE Computer Society, pp 46–55.
[15]
Femmer H, Fernȧndez DM, Ju̇rgens E, Klose M, Zimmer I, Zimmer J (2014) Rapid requirements checks with requirements smells: two case studies. In: Tichy M, Bosch J, Goedicke M, Larsson M (eds) 1st International Workshop on Rapid Continuous Software Engineering, RCoSE 2014, Hyderabad, India, June 3, 2014. ACM, pp 10–19.
[16]
Fernȧndez DM, Wagner S, Kalinowski M, Felderer M, Mafra P, Vetro A, Conte T, Christiansson M, Greer D, Lassenius C, Mȧnnistȯ T, Nayabi M, Oivo M, Penzenstadler B, Pfahl D, Prikladnicki R, Ruhe G, Schekelmann A, Sen S, Spínola RO, Tuzcu A, de la Vara JL, and Wieringa RJNaming the pain in requirements engineering - contemporary problems, causes, and effects in practiceEmpir Softw Eng20172252298-2338https://doi.org/10.1007/s10664-016-9451-7
[17]
Fuchs NE, Kaljurand K, Kuhn T (2008) Attempto controlled english for knowledge representation. In: Reasoning web. Springer, pp 104–124
[18]
Glaser BG (2006) The discovery of grounded theory : strategies for qualitative research, [reprinted] edn. Aldine Transaction, New Brunswick London
[19]
Hull MEC, Jackson K, and Dick JRequirements engineering2011BerlinSpringerhttps://doi.org/10.1007/978-1-84996-405-0
[20]
Jureta I, Mylopoulos J, and Faulkner SA core ontology for requirementsAppl Ontol200943-4169-244https://doi.org/10.3233/AO-2009-0069
[21]
Kassab M, Neill CJ, and Laplante PAState of practice in requirements engineering: contemporary dataInnov Syst Softw Eng2014104235-241https://doi.org/10.1007/s11334-014-0232-4
[22]
Kipper K, Dang HT, Palmer MS (2000) Class-based construction of a verb lexicon. In: Kautz HA, Porter BW (eds) Proceedings of the seventeenth national conference on artificial intelligence and twelfth conference on on innovative applications of artificial intelligence, July 30 - August 3, 2000. http://www.aaai.org/Library/AAAI/2000/aaai00-106.php. AAAI Press / The MIT Press, Austin, pp 691–696
[23]
Konrad S, Cheng BHC (2005a) Facilitating the construction of specification pattern-based properties. In: 13th IEEE International conference on requirements engineering (RE 2005), 29 August - 2 September, 2005. IEEE Computer Society, Paris, pp 329–338
[24]
Konrad S, Cheng BHC (2005b) Real-time specification patterns. In: Roman G, Griswold WG, Nuseibeh B (eds) 27th International conference on software engineering (ICSE 2005), 15-21 May, 2005. ACM, St. Louis, pp 372–381
[25]
Kuhn TA survey and classification of controlled natural languagesComput Linguistics2014401121-170https://doi.org/10.1162/COLI_a_00168
[26]
Lúcio L, Rahman S, Cheng C, Mavin A (2017) Just formal enough? automated analysis of EARS requirements. In: Barrett CW, Davies M, Kahsai T (eds) NASA formal methods - 9th international symposium, NFM 2017, Moffett Field, CA, USA, May 16-18, 2017, Proceedings, Lecture Notes in Computer Science, vol 10227. pp 427–434.
[27]
Mavin A, Wilkinson P (2010) Big ears (the return of “easy approach to requirements engineering”). In: RE 2010, 18th IEEE International Requirements Engineering Conference, Sydney, New South Wales, Australia, September 27 - October 1, 2010. IEEE Computer Society, pp 277–282.
[28]
Mavin A, Wilkinson P, Harwood A, Novak M (2009) Easy approach to requirements syntax (EARS). In: RE 2009, 17th IEEE International requirements engineering conference, Atlanta, Georgia, USA, August 31 - September 4, 2009. IEEE Computer Society, pp 317–322.
[29]
Mavin A, Wilkinson P, Gregory S, Uusitalo E (2016) Listens learned (8 lessons learned applying EARS). In: 24th IEEE international requirements engineering conference, RE 2016, Beijing, China, September 12-16, 2016. IEEE Computer Society, pp 276–282.
[30]
Mich L, Franch M, and Inverardi PNMarket research for requirements analysis using linguistic toolsRequir Eng20049140-56https://doi.org/10.1007/s00766-003-0179-8
[31]
Miller GAWordnet: A lexical database for englishCommun ACM1995381139-41https://doi.org/10.1145/219717.219748
[32]
OMG (2017) Unified modeling language. version 2.5.1. https://www.omg.org/spec/UML/, accessed 30 April 2020
[33]
Pohl K Requirements engineering - fundamentals, principles, and techniques 2010 Berlin Springer
[34]
Pohl K and Rupp C Requirements engineering fundamentals - a study guide for the certified professional for requirements engineering exam: Foundation Level - IREB compliant 2011 San Rafael Rocky Nook
[35]
Post A, Hoenicke J (2012) Formalization and analysis of real-time requirements: A feasibility study at BOSCH. In: Joshi R, Müller P, Podelski A (eds) Verified software: theories, tools, experiments - 4th international conference, VSTTE 2012, Philadelphia, PA, USA, January 28-29, 2012. Proceedings, Springer, Lecture Notes in Computer Science, vol 7152. pp 225–240,
[36]
Post A, Menzel I, Podelski A (2011) Applying restricted english grammar on automotive requirements - does it work? A case study. In: Berry DM, Franch X (eds) Requirements engineering: foundation for software quality - 17th internatil working conference, REFSQ 2011, Essen, Germany, March 28-30, 2011. Proceedings, Springer, Lecture Notes in Computer Science, vol 6606. pp 166–180.
[37]
Riaz M, King JT, Slankas J, Williams LA (2014) Hidden in plain sight: automatically identifying security requirements from natural language artifacts. In: Gorschek T, Lutz R R (eds) IEEE 22nd international requirements engineering conference, RE 2014, Karlskrona, Sweden, August 25-29, 2014. IEEE Computer Society, pp 183–192.
[38]
Runeson P, Host M, Rainer A, and Regnell B Case study research in software engineering: guidelines and examples 2012 1st edn. Hoboken Wiley Publishing
[39]
Sadraei E, Aurum A, Beydoun G, and Paech BA field study of the requirements engineering practice in australian software industryRequir. Eng.2007123145-162https://doi.org/10.1007/s00766-007-0042-4
[40]
Saldaña J The coding manual for qualitative researchers 2015 Thousand Oaks Sage
[41]
Solemon B, Sahibuddin S, Ghani AAA (2009) Requirements engineering problems and practices in software companies: An industrial survey. In: Advances in software engineering - international conference on advanced software engineering and its applications, ASEA 2009, vol 59. Springer, pp 70–77.
[42]
Sommerville I (2011) Software engineering
[43]
Stevenson A and Cordy JRA survey of grammatical inference in software engineeringSci Comput Program201496444-459https://doi.org/10.1016/j.scico.2014.05.008
[44]
Stol K, Ralph P, Fitzgerald B (2016) Grounded theory in software engineering research: a critical review and guidelines. In: Dillon LK, Visser W, Williams LA (eds) Proceedings of the 38th international conference on software engineering, ICSE 2016, Austin, TX, USA, May 14-22, 2016, ACM., pp 120–131
[45]
The Standish Group (Unknown Month 1995) The chaos report. https://www.standishgroup.com/, accessed 30 April 2020
[46]
Veizaga A, Alfėrez M, Torre D, Sabetzadeh M, Briand LC, Pitskhelauri E (2020) Leveraging natural-language requirements for deriving better acceptance criteria from models. In: Syriani E, Sahraoui HA, de Lara J, Abrahȧo S (eds) MoDELS ’20: ACM/IEEE 23rd international conference on model driven engineering languages and systems, virtual event, Canada, 18-23 October, 2020. ACM., pp 218–228
[47]
Withall S Software requirement patterns 2007 London Pearson Education
[48]
Wohlin C, Runeson P, Hȯst M, Ohlsson MC, and Regnell BExperimentation in software engineering2012BerlinSpringerhttps://doi.org/10.1007/978-3-642-29044-2
[49]
Young R (2015) The main thing is keeping the main thing the main thing. Requir Eng Mag 1
[50]
Yue T, Briand LC, and Labiche YA systematic review of transformation approaches between user requirements and analysis modelsRequir Eng201116275-99https://doi.org/10.1007/s00766-010-0111-y
[51]
Zave P and Jackson MFour dark corners of requirements engineeringACM Trans Softw Eng Methodol1997611-30https://doi.org/10.1145/237432.237434
[52]
Zhao L, Alhoshan W, Ferrari A, Letsholo KJ, Ajagbe MA, Chioasca E, Batista-Navarro RT (2020) Natural language processing (NLP) for requirements engineering: A systematic mapping study. arXiv:2004.01099
[53]
Zikmund W, Babin B, Carr J, Griffin M (2013) Business Research Methods. Cengage Learning. https://books.google.lu/books?id=veM4gQPnWHgC

Cited By

View all
  • (2024)An Approach for Providing Recommendation for Requirements Non-Conformant with Requirement Templates (RTs)Proceedings of the 17th Innovations in Software Engineering Conference10.1145/3641399.3641412(1-11)Online publication date: 22-Feb-2024
  • (2023)HotGPT: How to Make Software Documentation More Useful with a Large Language Model?Proceedings of the 19th Workshop on Hot Topics in Operating Systems10.1145/3593856.3595910(87-93)Online publication date: 22-Jun-2023
  • (2023)Characterizing Requirements SmellsProduct-Focused Software Process Improvement10.1007/978-3-031-49266-2_27(387-398)Online publication date: 11-Dec-2023
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image Empirical Software Engineering
Empirical Software Engineering  Volume 26, Issue 4
Jul 2021
1061 pages

Publisher

Kluwer Academic Publishers

United States

Publication History

Published: 01 July 2021
Accepted: 26 February 2021

Author Tags

  1. Natural language requirements
  2. Functional requirements
  3. Controlled natural language
  4. Qualitative study
  5. Case study research

Qualifiers

  • Research-article

Funding Sources

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 04 Oct 2024

Other Metrics

Citations

Cited By

View all
  • (2024)An Approach for Providing Recommendation for Requirements Non-Conformant with Requirement Templates (RTs)Proceedings of the 17th Innovations in Software Engineering Conference10.1145/3641399.3641412(1-11)Online publication date: 22-Feb-2024
  • (2023)HotGPT: How to Make Software Documentation More Useful with a Large Language Model?Proceedings of the 19th Workshop on Hot Topics in Operating Systems10.1145/3593856.3595910(87-93)Online publication date: 22-Jun-2023
  • (2023)Characterizing Requirements SmellsProduct-Focused Software Process Improvement10.1007/978-3-031-49266-2_27(387-398)Online publication date: 11-Dec-2023
  • (2022)Towards a Domain-Specific Language to Specify Interaction Scenarios for Web-Based Graphical User InterfacesCompanion of the 2022 ACM SIGCHI Symposium on Engineering Interactive Computing Systems10.1145/3531706.3536463(48-53)Online publication date: 21-Jun-2022

View Options

View options

Get Access

Login options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media