Skip to main content

Advertisement

Log in

Automated classification of non-functional requirements

  • Original Article
  • Published:
Requirements Engineering Aims and scope Submit manuscript

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.

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

Access this article

Subscribe and save

Springer+ Basic
$34.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8

Similar content being viewed by others

References

  1. Nuseibeh B (2001) Weaving together requirements and architecture. IEEE Comput 34(3):115–117

    Google Scholar 

  2. 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

  3. 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

  4. Baniassan E, Clements P, Araujo J, Moreira A, Rashid A, Tekinerdogan B (2006) Discovering early aspects. IEEE Softw 23(1):61–70

    Article  Google Scholar 

  5. In H, Boehm BW (2001) Using winwin quality requirements management tools: a case study. Ann Softw Eng 11(1):141–174

    Article  MATH  Google Scholar 

  6. 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

    Article  MATH  Google Scholar 

  7. 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

  8. 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

  9. 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

  10. Chung L, Nixon B, Yu E, Mylopoulos J (2000) Non-functional requirements in software engineering. Kluwer, Boston

    MATH  Google Scholar 

  11. 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

  12. 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)

  13. Dardenne A, Lamsweerde A, Fickas S (1993) Goal-directed requirements acquisition. Sci Comput Program

  14. 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

  15. 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”

  16. 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

  17. 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

  18. 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/

  19. 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

    Article  Google Scholar 

  20. 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

  21. 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

  22. 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

    Article  Google Scholar 

  23. 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

  24. 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

  25. Clarke S, Baniassad E (2005) Aspect-oriented analysis and design. In: The theme approach. Addison Wesley Ltd. ISBN: 0321246748

  26. Sampaio A, Loughran N, Rashid A, Rayson P (2005) Mining aspects in requirements. In: Workshop on early aspects

  27. Frakes WB, Baeza-Yates R (1992) Information retrieval: data structures and algorithms. Prentice-Hall, Englewood Cliffs

    Google Scholar 

  28. Altman DG, Bland JM (1994) Statistics notes: diagnostic tests 1: sensitivity and specificity. Br Med J 308(1552)

  29. Salton G, McGill MJ (1983) Introduction to modern information retrieval. McGraw-Hill, New York

    MATH  Google Scholar 

  30. Fawcett T ROC graphs: notes and practical considerations for researchers. HP Labs Tech Report, HPL-2003–4

  31. PROMISE Software Engineering Repository. http://www.promise.site.uottawa.ca/SERepository/

  32. 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/

Download references

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

Authors

Corresponding author

Correspondence to Jane Cleland-Huang.

Rights and permissions

Reprints 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

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00766-007-0045-1

Keywords