How Do Software Architects Specify and Validate Quality Requirements?

Software architecture is the result of a design effort aimed at ensuring a certain set of quality attributes. As we show, quality requirements are commonly specified in practice but are rarely validated using automated techniques. In this paper we analyze and classify commonly specified quality requirements after interviewing professionals and running a survey. We report on tools used to validated those requirements and comment on the obstacles encountered by practitioners when performing such activity (e.g., insufficient tool-support; low suitability of current tools). Finally we discuss opportunities for increasing the adoption of automated tools based on the information we collected during our study (e.g., using a business-readable notation for expressing quality requirements; increasing awareness by monitoring non-functional aspects of a system).


  1. Andrea Caracciolo, Mircea Lungu, and Oscar Nierstrasz. How Do Software Architects Specify and Validate Quality Requirements?. In European Conference on Software Architecture (ECSA), Lecture Notes in Computer Science 8627 p. 374—389, Springer Berlin Heidelberg, August 2014. DOI PDF 

Related resources:

  • Qualitative study - Interviews:
    • Questions: a template containing some of the questions asked during the interviews
    • Results: all identified quality attributes with examples
  • Quantitative study - Survey:
    • Questions: Document containing a copy of the pages composing the survey
    • Results: spreadsheet containing all survey results
    • Results Summary: spreadsheet containing a complete summary of the survey results
    • Reported Testing Tools: link reference for the tools cited in the paper

For further information, please contact Andrea Caracciolo

Last changed by admin on 21 April 2009