Innovations Syst Softw Eng (2008) 4:3–15 DOI 10.1007/s11334-007-0039-7 ORIGINAL PAPER The EMISQ method and its tool support-expert-based evaluation of internal software quality R. Plösch · H. Gruber · A. Hentschel · Ch. Körner · G. Pomberger · S. Schiffer · M. Saft · S. Storck Received: 13 December 2007 / Accepted: 19 December 2007 / Published online: 12 January 2008 © Springer-Verlag London Limited 2008 Abstract There is empirical evidence that internal software quality, e.g., the quality of source code, has great impact on the overall quality of software. Besides well-known manual inspection and review techniques for source code, more recent approaches utilize tool-based static code analysis for the evaluation of internal software quality. Despite the high potential of code analyzers the application of tools alone can- not replace well-founded expert opinion. Knowledge, expe- rience and fair judgment are indispensable for a valid, reliable quality assessment, which is accepted by software developers and managers. The EMISQ method (Evaluation Method for Internal Software Quality), guides the assessment process for all stakeholders of an evaluation project. The method is R. Plösch (B ) · H. Gruber · G. Pomberger · S. Schiffer Institut für Wirtschaftsinformatik—Software Engineering, Johannes Kepler University Linz, Linz, Austria e-mail: reinhold.ploesch@jku.at H. Gruber e-mail: harald.gruber@jku.at G. Pomberger e-mail: gustav.pomberger@jku.at S. Schiffer e-mail: stefan.schiffer@jku.at A. Hentschel · Ch. Körner · M. Saft Siemens AG, Corporate Technology–SE 1, Otto-Hahn-Ring 6, Munich, Germany e-mail: anja.hentschel@siemens.com Ch. Körner e-mail: christian.koerner@siemens.com M. Saft e-mail: matthias.saft@siemens.com S. Storck Siemens Corporate Research Inc.–SCR SE, 755 College Road East, Princeton, NJ, USA e-mail: stephan.storck@siemens.com supported by the Software Product Quality Reporter (SPQR), a tool which assists evaluators with their analysis and rating tasks and provides support for generating code quality reports. The application of SPQR has already proved its use- fulness in various code assessment projects around the world. This paper introduces the EMISQ method and describes the tool support needed for an efficient and effective evaluation of internal software quality. 1 Introduction and motivation Commonly, the general term software quality combines external and internal software quality. The standard ISO 9126 [1] defines software quality as “the totality of characteristics of a software product that bear on its ability to satisfy stated and implied needs”. However, this general definition of soft- ware quality does not suffice for practical application. With the help of quality models, the concept of quality is operatio- nalized by deriving subconcepts, with external and internal software quality at the highest level of abstraction. External software quality covers those quality aspects that are noticeable by the users of a software product. Typical examples of external quality attributes are usability and func- tionality. Assessing the external quality of a software product requires an operational product that has to be executed in order to be evaluated. Internal software quality covers quality aspects that are primarily visible to software architects, developers and tes- ters; it focuses on the source code, internal documentation, architectural descriptions, etc. Even if users do not directly get in touch with internal software quality, it is an intui- tive observation that internal quality affects external qua- lity to a high degree. This observation is also supported by 123