Abstract
This paper describes a technique for automating the detection and classification of non-functional requirements related to properties such as security, performance, and usability. Early detection of non-functional requirements enables them to be incorporated into the initial architectural design instead of being refactored in at a later date. The approach is used to detect and classify stakeholders’ quality concerns across requirements specifications containing scattered and non-categorized requirements, and also across freeform documents such as meeting minutes, interview notes, and memos. This paper first describes the classification algorithm and then evaluates its effectiveness through reporting a series of experiments based on 30 requirements specifications developed as term projects by MS students at DePaul University. A new and iterative approach is then introduced for training or retraining a classifier to detect and classify non-functional requirements (NFR) in datasets dissimilar to the initial training sets. This approach is evaluated against a large free-form requirements document obtained from Siemens Logistics and Automotive Organization. Although to the NFR classifier is unable to detect all of the NFRs, it is useful for supporting an analyst in the error-prone task of manually discovering NFRs, and furthermore can be used to quickly analyse large and complex documents in order to search for NFRs.








Similar content being viewed by others
References
Nuseibeh B (2001) Weaving together requirements and architecture. IEEE Comput 34(3):115–117
Zowghi D Resources: collection of software requirements specifications [Online document]. Available at http://www.research.it.uts.edu.au/re/cgi-bin/resources_srs.cgi
Cleland-Huang J, Settimi R, Zou X, Solc P (2006) The detection and classification of non-functional requirements with application to early aspects. In: IEEE international conference on requirements engineering, Minneapolis, MN, pp 39–48
Baniassan E, Clements P, Araujo J, Moreira A, Rashid A, Tekinerdogan B (2006) Discovering early aspects. IEEE Softw 23(1):61–70
In H, Boehm BW (2001) Using winwin quality requirements management tools: a case study. Ann Softw Eng 11(1):141–174
Cysneiros LM, do Prado Leite JCS, de Melo Sabat Neto J (2001) A framework for integrating non-functional requirements into conceptual models. Requirement Eng 6(2):97–115
Dőrr J, Kerkow D, Von Knethen A, Paech B (2003) Eliciting efficiency requirements with use cases. In: Ninth international workshop on requirements engineering: foundation for software quality. In conjunction with CAiSE’03
Kaiya H, Osada A, Kaijiri K (2004) Identifying stakeholders and their preferences about NFR by comparing use case diagrams of several existing systems. In: Proceedings of 12th IEEE international requirements engineering conference, pp 112–121
Kazman R, Klein M, Clements P (2000) ATAM: method for architecture evaluation. CMU/SEI Technical Report, CMU/SEI-2000-TR-004, ADA382629, Software Engineering Institute, Carnegie Mellon University, Pittsburgh, PA
Chung L, Nixon B, Yu E, Mylopoulos J (2000) Non-functional requirements in software engineering. Kluwer, Boston
Eric SK Yu, John Mylopoulos (1994) Understanding ``Why’’ in software process modelling, analysis, and design. In: Proceedings of 16th international conference on software engineering, pp 159–168
van Lamsweerde A (2004) Goal-oriented requirements engineering: a roundtrip from research to practice. In: Proceedings of RE’04, 12th IEEE joint international requirements engineering conference, Kyoto, 4–8 September 2004 (Invited Keynote Paper)
Dardenne A, Lamsweerde A, Fickas S (1993) Goal-directed requirements acquisition. Sci Comput Program
Steele A, Arnold J, Cleland-Huang J (2006) Speech detection of stakeholders’ non-functional requirements. In: International workshop on multimedia requirements engineering—beyond mere descriptions, MERE’06, In conjunction with IEEE RE’06, September, 2006, pp 3
Kellens A, Mens K (2005) A survey of aspect mining tools and techniques. INGI Technical Report, 2005–08, UCL, Belgium, Deliverable 6.2a for the workpackage 6 of the IWT project 040116 “AspectLab”
Bruntink M, van Deursen A, Tourwe T, van Engelen R (2004) An evaluation of clone detection techniques for identifying crosscutting concerns. In: 20th International conference on software maintenance (ICSM’04), pp 200–209
Tonella P, Ceccato M (2004) Aspect mining through the formal concept analysis of execution traces. In: 11th working conference on reverse engineering (WCRE’04), pp 112–121
Rosenhainer L (2004) Identifying crosscutting concerns in requirements specifications. In: Workshop on early aspects: aspect-oriented requirements engineering and architecture design, Vancouver, Canada, 2004. Available at http://www.trese.cs.utwente.nl/Docs/workshops/oopsla-early-aspects-2004/
Antoniol G, Canfora G, Casazza G, De Lucia A, Merlo E (2002) Recovering traceability links between code and documentation. IEEE Trans Softw Eng 28(10):970–983
Cleland-Huang J, Settimi R, Duan C, Zou X (2005) Utilizing supporting evidence to improve dynamic requirements traceability. In: International requirements engineering conference, Paris, France, pp 135–144
Cleland-Huang J, Settimi R, BenKhadra O, Berezhanskaya E, Christina S (2005) Goal-centric traceability for managing non-functional requirements. In: International conference on software engineering, pp 362–371
Huffman Hayes J, Dekhtyar A, Sundaram SK (2006) Advancing candidate link generation for requirements tracing: the study of methods. IEEE Trans Softw Eng 32(1):4–19
Settimi R, Cleland-Huang J, BenKhadra O, Mody J, Lukasik W, DePalma C (2004) Supporting change in evolving software systems through dynamic traces to UML. In: IEEE international workshop on principles of software evolution, pp 49–54
Maarek Y, Berry DM, Kaiser GE (1994) GURU: information retrieval for reuse. In: Hall P (ed) Landmark contributions in software reuse and reverse engineering. Unicom Seminars Ltd
Clarke S, Baniassad E (2005) Aspect-oriented analysis and design. In: The theme approach. Addison Wesley Ltd. ISBN: 0321246748
Sampaio A, Loughran N, Rashid A, Rayson P (2005) Mining aspects in requirements. In: Workshop on early aspects
Frakes WB, Baeza-Yates R (1992) Information retrieval: data structures and algorithms. Prentice-Hall, Englewood Cliffs
Altman DG, Bland JM (1994) Statistics notes: diagnostic tests 1: sensitivity and specificity. Br Med J 308(1552)
Salton G, McGill MJ (1983) Introduction to modern information retrieval. McGraw-Hill, New York
Fawcett T ROC graphs: notes and practical considerations for researchers. HP Labs Tech Report, HPL-2003–4
PROMISE Software Engineering Repository. http://www.promise.site.uottawa.ca/SERepository/
Jalaji A, Goff R, Jackson M, Jones N, Menzies T (2006) Making sense of text: identifying non functional requirements early. Submitted to PROMISE 2007, also available on-line as a West Virginia University CSEE technical report, 2006. http://www.stupidchoices.org/cs591o/final_pres/ottawa.ca/SERepository/
Acknowledgments
The work described in this paper was partially funded by NSF grants CCR-0306303 and CCR-0447594. Additional funding and access to project artefacts was provided by Siemens Corporate Research and Siemens Logistics and Automation plant in Grand Rapids, MI. We would like to express our appreciation to Wen Dou for constructing the iterative prototype tool.
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Cleland-Huang, J., Settimi, R., Zou, X. et al. Automated classification of non-functional requirements . Requirements Eng 12, 103–120 (2007). https://doi.org/10.1007/s00766-007-0045-1
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00766-007-0045-1