|
|
Copyright © 2017 Squoring Technologies
Licence
No part of this publication may be reproduced, transmitted, stored in a retrieval system, nor translated into any human or computer language, in any form or by any means, electronic, mechanical, magnetic, optical, chemical, manual or otherwise, without the prior written permission of the copyright owner, Squoring Technologies.
Squoring Technologies reserves the right to revise this publication and to make changes from time to time without obligation to notify authorised users of such changes. Consult Squoring Technologies to determine whether any such changes have been made.
The terms and conditions governing the licensing of Squoring Technologies software consist solely of those set forth in the written contracts between Squoring Technologies and its customers.
All third-party products are trademarks or registered trademarks of their respective companies.
Warranty
Squoring Technologies makes no warranty of any kind with regard to this material, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose. Squoring Technologies shall not be liable for errors contained herein nor for incidental or consequential damages in connection with the furnishing, performance or use of this material.
Abstract
This edition of the Reference Manual applies to Squore 17.0.8 and to all subsequent releases and modifications until otherwise indicated in new editions.
Table of Contents
Table of Contents
This document was released by Squoring Technologies.
It is part of the user documentation of the Squore software product edited and distributed by Squoring Technologies.
The Reference Manual provides a complete reference for the metrics, glossary and standards used in Squore 17.0.8.
This manual is intended for Squore administrators and end-users. It gives useful information about the technical background of Squore and important knowledge basis to understand what is measured and how.
If you are already familiar with Squore, you can navigate this manual by looking for what has changed since the previous version. New functionality is tagged with (new in 17.0) throughout this manual. A summary of the new features described in this manual is available in the entry * What's New in Squore 17.0? of this manual's Index.
For information on how to use and configure Squore, the full suite of manuals includes:
Squore Installation Checklist
Squore Installation and Administration Guide
Squore Getting Started Guide
Squore Command Line Interface
Squore Configuration Guide
Squore Eclipse Plugin Guide
Squore Reference Manual
If the information provided in this manual is erroneous or inaccurate, or if you encounter problems during your installation, contact Squoring Technologies Product Support: http://support.squoring.com/
You will need a valid Squore customer account to submit a support request. You can create an account on the support website if you do not have one already.
For any communication:
support@squoring.com
Squoring Technologies Product Support
76, allées Jean Jaurès / 31000 Toulouse - FRANCE
Approval of this version of the document and any further updates are the responsibility of Squoring Technologies.
The version of this manual included in your Squore installation may have been updated. If you would like to check for updated user guides, consult the Squoring Technologies documentation site to consult or download the latest Squore manuals at http://support.squoring.com/documentation/17.0.8. Manuals are constantly updated and published as soon as they are available.
Table of Contents
This chapter describes the list of metrics and rules for each language supported by . Note that this is not the complete list of metrics and rules in , only the ones generated by our source code parser. Some of the rules may also be disabled by default in your configuration. For more information about your analysis model, consult 's and , which provide more information about each metric and rule.
Andthen Operators
Mnemonic ANTH
Description Number of 'andthen' operators
Number of comment blocks
Mnemonic BCOM
Description Number of comment blocks.
Header Blocks Of Comment
Mnemonic BHCO
Description Number block of comment placed before the beginning of the artefact.
Blank Lines
Mnemonic BLAN
Description Number of blank lines of code in the source file(s).
Brace Lines
Mnemonic BRAC
Description Number of lines of code containing only a brace in the source file(s).
Case Blocks
Mnemonic CABL
Description Number of 'case' blocks in 'switch' in the function
Case Labels
Mnemonic CASE
Description Number of 'case' labels in the function
Catch Statements
Mnemonic CATC
Description Number of 'catch' statements in the function
Cyclomatic Complexity
Mnemonic CCN
Description Number of linearly independent paths in the function control graph.
Control Flow Token
Mnemonic CFT
Description Number of tokens in the control flow of functions
Call Graph Depth
Mnemonic CGDM
Description Maximum depth of the call graph.
Number of Check instruction
Mnemonic CHECK
Description Number of Check instruction
Comment Lines
Mnemonic CLOC
Description Number of lines of comments in the source file(s).
Continue Statements
Mnemonic CONT
Description Number of 'continue' statements in the function
Public Constant
Mnemonic CPBL
Description Public Constant
Protected Constant
Mnemonic CPRT
Description Protected Constant
Private Constant
Mnemonic CPRV
Description Private Constant
Commented Statements
Mnemonic CSTAT
Description Number of Commented Statements.
Minimum Number of Cycles
Mnemonic CYCL
Description Minimum number of call graph cycles in which the function is involved (including recursivity).
Default Statement
Mnemonic DEFT
Description Number of 'default' blocks in 'switch' in the function
Distinct Operands
Mnemonic DOPD
Description Number of distinct operands: variables and constants ([Halstead,76]: n2)
Distinct Operators
Mnemonic DOPT
Description Number of distinct operators: language keywords ([Halstead,76]: n1)
Public Data
Mnemonic DPBL
Description Public Data
Protected Data
Mnemonic DPRT
Description Protected Data
Private Data
Mnemonic DPRV
Description Private Data
Else Statements
Mnemonic ELSE
Description Number of 'else' statements
Call to exit
Mnemonic EXIT
Description Number of calls to the exit function
For Statements
Mnemonic FOR
Description Number of 'for' statements in the function
File Type Count
Mnemonic FTYP
Description File Type Count
Structures Added
Mnemonic SADD
Description Number of control structures added since the previous version.
Structures Modified
Mnemonic SMOD
Description Number of control structures modified since the previous version.
Structures Removed
Mnemonic SREM
Description Number of control structures removed since the previous version.
Number of Structures
Mnemonic SSIZ
Description Number of control structures: iterations, selections, sequences
Header Lines Of Comment
Mnemonic HCOM
Description Number of comment lines placed before the beginning of the artefact.
Header Lines Of Code
Mnemonic HLOC
Description Number of lines between the function or class definition and the first opening brace.
Cloned Code
Mnemonic ICC
Description Duplicated code in this artefact
Cloned Control Flow Tokens
Mnemonic ICFTC
Description Number of duplicated tokens in control flow of functions
If Statements
Mnemonic IF
Description Number of 'if' statements
Line Count
Mnemonic LC
Description Number of lines.
Loop Statements
Mnemonic LOOP
Description Number of loop statements in the function
Mixed Lines
Mnemonic MLOC
Description Number of lines containing both code and comment in the source files.
Maximum Nested Structures
Mnemonic NEST
Description Maximum number of nested structures
Non-Cyclic Paths
Mnemonic PATH
Description Number of non-cyclic paths in the function.
Orelse operators
Mnemonic OREL
Description Number of 'orelse' operators
Return Statements
Mnemonic RETURN
Description Number of 'return' statements in the function
Repeated Code Blocks
Mnemonic RS
Description Duplicated blocks in the function
Skipped Lines of Comment code
Mnemonic SKLC
Description Skipped Lines of Comment code i.e. lines that match a user defined regular expression to skip lines of comments.
Source Lines Of Code
Mnemonic SLOC
Description Number of lines of source code in the source file(s).
Executable Statements
Mnemonic STAT
Description Total number of executable statements.
Switch Statements
Mnemonic SWIT
Description Number of 'switch' statements in the function
Throw Statements
Mnemonic THRO
Description Number of 'throw' statements in the function
Operand Occurrences
Mnemonic TOPD
Description Number of occurrences of operands: variables and constants ([Halstead,76]: N2)
Operator Occurrences
Mnemonic TOPT
Description Number of occurrences of operators: language keywords ([Halstead,76]: N1)
Try Statements
Mnemonic TRY
Description Number of 'try' statements in the function
Lines Added
Mnemonic LADD
Description Number of lines added since the previous version.
Lines Modified
Mnemonic LMOD
Description Number of lines modified since the previous version.
Lines Removed
Mnemonic LREM
Description Number of lines removed since the previous version.
While Statements
Mnemonic WHIL
Description Number of 'while' statements in the function
Avoid using APPEND statements in loops
Mnemonic AVOIDAPPENDINLOOP
Description Avoid using COMMIT WORK statements in loops.
Avoid using APPEND in SQL SELECT statements
Mnemonic AVOIDAPPENDINSELECT
Description Avoid using APPEND in SQL SELECT statements.
Avoid using BREAK-POINT
Mnemonic AVOIDBREAKPOINT
Description Avoid using BREAK-POINT
Avoid using CHECK in SQL SELECT statements
Mnemonic AVOIDCHECKINSELECT
Description Avoid using CHECK in SQL SELECT statements
Avoid using COMMIT WORK statements in loops
Mnemonic AVOIDCOMMITWORKINLOOP
Description Avoid using COMMIT WORK statements in loops.
Avoid obsolete DATA BEGIN OF OCCURS statement
Mnemonic AVOIDDATAOCCURS
Description Avoid obsolete DATA BEGIN OF OCCURS statement
Avoid using INSERT statements in loops
Mnemonic AVOIDINSERTINLOOP
Description Avoid using INSERT statements in loops. Querying in a loop can lead to performance issues.
Avoid using INSERT in SQL SELECT statements
Mnemonic AVOIDINSERTINSELECT
Description Avoid using INSERT in SQL SELECT statements
Avoid using SQL INTO statements in loops
Mnemonic AVOIDINTOINLOOP
Description Avoid using SQL INTO statements in loops.
Avoid using SELECT *
Mnemonic AVOIDSELECTALL
Description SELECT * should be avoided as it does not enable to keep control on the flow return and could therefore be error prone and potentially lead to performance issues.
Avoid using the SQL "BYPASSING BUFFER" clause
Mnemonic AVOIDSELECTBYPASS
Description The BYPASSING BUFFER clause causes the SELECT statement to avoid the SAP buffering and to read directly from the database and not from the buffer on the application server.
Avoid using SELECT DISTINCT Statement
Mnemonic AVOIDSELECTDISTINCT
Description The SQL DISTINCT clause causes the SELECT statement to avoid the SAP buffering and to read directly from the database and not from the buffer on the application server.
Avoid SELECT SQL statement without a WHERE clause
Mnemonic AVOIDSELECTNOWHERE
Description Avoid SELECT SQL statement without a WHERE clause
Avoid SELECT SQL statement with a WHERE clause containing the NOT EQUAL operator
Mnemonic AVOIDSELECTWHERENOTEQ
Description Avoid SELECT SQL statement with a WHERE clause containing the NOT EQUAL operator.
Avoid using SQL Aggregate Functions
Mnemonic AVOIDSQLAGGREGATEFUNC
Description SQL COUNT(..) , MIN(..), MAX(..), SUM(..), AVG(..) functions cause the SAP table buffer to be bypassed and so usage of such functions can lead to some performance issues.
Avoid using SUBMIT statements in loops
Mnemonic AVOIDSUBMITINLOOP
Description Avoid using SUBMIT statements in loops.
Avoid using UPDATE, MODIFY, DELETE statements in loops
Mnemonic AVOIDUPDELINLOOP
Description Avoid using UPDATE, MODIFY, DELETE statements in loops. Querying in a loop can lead to performance issues.
Avoid UPDATE or DELETE SQL Statement without a WHERE clause
Mnemonic AVOIDUPDELNOWHERE
Description Avoid UPDATE or DELETE SQL Statement without a WHERE clause
Avoid using GROUP BY in queries
Mnemonic AVOIDUSINGSQLGROUPBY
Description Using GROUP BY in SQL queries can lead to performance issues.
Avoid using the JOIN SQL clause
Mnemonic AVOIDUSINGSQLJOIN
Description Using the SQL JOIN clause leads to bypass the SAP table buffer.
Avoid using LIKE in SQL queries
Mnemonic AVOIDUSINGSQLLIKE
Description Using LIKE in SQL queries can lead to performance issues.
Avoid using the WAIT statement
Mnemonic AVOIDWAIT
Description Avoid using the WAIT statement.
The class name should conform to the defined standard
Mnemonic CLASSNAMINGCONVENTION
Description The class name should conform to the defined standard
Commented-out Source Code is not allowed
Mnemonic R_CSTAT
Description Commented-out Source Code is not allowed
Missing Default
Mnemonic DEFAULT
Description The final clause of a switch statement shall be the default clause (see [MISRA-C:2004]: RULE 15.3).
Missing final else
Mnemonic ELSEFINAL
Description All if ... else if constructs shall be terminated with an else clause (see [MISRA-C:2004]: RULE 14.10).
Forbid call to a system function
Mnemonic FORBIDCALLCFUNC
Description Call of a System Function: CALL 'cfunc' is only intended for internal usage. Incompatible changes and further development is possible at any time and without warning or notice.
Forbid calls to dialog transactions
Mnemonic FORBIDCALLDIALTRANS
Description Forbid calls to dialog transactions.
Forbid use of GENERATE REPORT / SUBROUTINE POOL / DYNPRO
Mnemonic FORBIDGENERATEPROG
Description This statement is exclusively for internal use within SAP Technology Development. Incompatible changes or developments are possible at any time without prior warning or notes.
Forbid calls to GET RUN TIME.
Mnemonic FORBIDGETRUNTIME
Description Forbid calls to GET RUN TIME.
Forbid use of INSERT/DELETE REPORT/TEXTPOOL
Mnemonic FORBIDINSERTPROG
Description This statement is exclusively for internal use within SAP Technology Development. Incompatible changes or developments are possible at any time without prior warning or notice.
Forbid uses of OFFSET in ASSIGN
Mnemonic FORBIDOFFSETINASSIGN
Description Forbid uses of OFFSET in ASSIGN.
Forbid use of SYSTEM-CALL
Mnemonic FORBIDSYSTEMCALL
Description This statement is only for !Internal use in SAP Basis development!. Its use is subject to various restrictions, not all of which may be listed in the documentation. Changes and further development, which may be incompatible, may occur at any time, without warning or notice!
The form name should conform to the defined standard
Mnemonic FORMNAMINGCONVENTION
Description The form name should conform to the defined standard
The function name should conform to the defined standard
Mnemonic FUNCTIONNAMINGCONVENTION
Description The function name should conform to the defined standard
Avoid calling a function module without handling exceptions
Mnemonic HANDLEERRORCALLFUNC
Description Handling the exceptions when calling a function module is optional but should be mandatory to correctly handle errors in production.
The macro name should conform to the defined standard
Mnemonic MACRONAMINGCONVENTION
Description The macro name should conform to the defined standard
The method name should conform to the defined standard
Mnemonic METHODNAMINGCONVENTION
Description The method name should conform to the defined standard
Factorizable Classes
Mnemonic CAC_CL
Description Consider classes refactorization
Factorizable Files
Mnemonic CAC_FI
Description Consider files refactorization
Factorizable Functions
Mnemonic CAC_FN
Description Consider functions refactorization
Factorizable Packages
Mnemonic CAC_PKG
Description Consider packages refactorization
Cloned Classes
Mnemonic CC_CL
Description There shall be no duplicated classes
Cloned Files
Mnemonic CC_FI
Description There shall be no duplicated files
Cloned Functions
Mnemonic CC_FN
Description There shall be no duplicated functions
Cloned Algorithmic
Mnemonic CFTC_FN
Description There shall be no algorithmic cloning
Continue shall not be used
Mnemonic NOCONT
Description The 'continue' statement shall not be used (see [MISRA-C:2004]: RULE 14.5).
FIXME shall not be commited in sources code
Mnemonic R_NOFIXME
Description FIXME shall not be commited in sources code as it brings confusion regarding code reliability.
Do not use "Native SQL" instructions
Mnemonic NONATIVESQL
Description Native SQL should not be used.
Avoid Duplicated Blocks in Function
Mnemonic RS_FN
Description There shall be no duplicated parts in functions
TODO shall not be commited in sources code
Mnemonic R_NOTODO
Description TODO shall not be commited in sources code as it brings confusion regarding code reliability.
Missing case in switch
Mnemonic ONECASE
Description Every switch statement shall have at least one case clause (see [MISRA-C:2004]: RULE 15.5).
Prevent use of EDITOR-CALLS
Mnemonic PREVENTEDITORCALL
Description This statement bypasses the authority checks that are performed when calling the ABAP editor via transaction code.
The program or report name should conform to the defined standard
Mnemonic PROGREPORTNAMINGCONVENTION
Description The program or report name should conform to the defined standard
Relaxed violation
Mnemonic RELAX
Description A rule violation is relaxed and justified.
Multiple exits are not allowed
Mnemonic RETURN
Description A function shall have a single point of exit at the end (see [MISRA-C:2004]: RULE 14.7).
Andthen Operators
Mnemonic ANTH
Description Number of 'andthen' operators
Number of comment blocks
Mnemonic BCOM
Description Number of comment blocks.
Header Blocks Of Comment
Mnemonic BHCO
Description Number block of comment placed before the beginning of the artefact.
Blank Lines
Mnemonic BLAN
Description Number of blank lines of code in the source file(s).
Brace Lines
Mnemonic BRAC
Description Number of lines of code containing only a brace in the source file(s).
Case Blocks
Mnemonic CABL
Description Number of 'case' blocks in 'switch' in the function
Case Labels
Mnemonic CASE
Description Number of 'case' labels in the function
Cyclomatic Complexity
Mnemonic CCN
Description Number of linearly independent paths in the function control graph.
Control Flow Token
Mnemonic CFT
Description Number of tokens in the control flow of functions
Call Graph Depth
Mnemonic CGDM
Description Maximum depth of the call graph.
Comment Lines
Mnemonic CLOC
Description Number of lines of comments in the source file(s).
Commented Statements
Mnemonic CSTAT
Description Number of Commented Statements.
Minimum Number of Cycles
Mnemonic CYCL
Description Minimum number of call graph cycles in which the function is involved (including recursivity).
Declare operators
Mnemonic DECBL
Description Number of Declare operators
Default Statement
Mnemonic DEFT
Description Number of 'default' blocks in 'switch' in the function
Distinct Operands
Mnemonic DOPD
Description Number of distinct operands: variables and constants ([Halstead,76]: n2)
Distinct Operators
Mnemonic DOPT
Description Number of distinct operators: language keywords ([Halstead,76]: n1)
Else Statements
Mnemonic ELSE
Description Number of 'else' statements
Entry Statements
Mnemonic ENTRY
Description Number of Entry statements
Exception When blocks
Mnemonic EXBL
Description Number of 'when' blocks in 'exception handler'.
Exception handlers
Mnemonic EXGR
Description Number of Exception handlers
For Statements
Mnemonic FOR
Description Number of 'for' statements in the function
Structures Added
Mnemonic SADD
Description Number of control structures added since the previous version.
Structures Modified
Mnemonic SMOD
Description Number of control structures modified since the previous version.
Structures Removed
Mnemonic SREM
Description Number of control structures removed since the previous version.
Number of Structures
Mnemonic SSIZ
Description Number of control structures: iterations, selections, sequences
Goto Statements
Mnemonic GOTO
Description Number of 'goto' statements
Header Lines Of Comment
Mnemonic HCOM
Description Number of comment lines placed before the beginning of the artefact.
Header Lines Of Code
Mnemonic HLOC
Description Number of lines between the function or class definition and the first opening brace.
Cloned Code
Mnemonic ICC
Description Duplicated code in this artefact
Cloned Control Flow Tokens
Mnemonic ICFTC
Description Number of duplicated tokens in control flow of functions
If Statements
Mnemonic IF
Description Number of 'if' statements
Generic object
Mnemonic ISGEN
Description The object is declared generic
Label Statements
Mnemonic LABEL
Description Number of Label statements
Line Count
Mnemonic LC
Description Number of lines.
Loop Statements
Mnemonic LOOP
Description Number of loop statements in the function
Mixed Lines
Mnemonic MLOC
Description Number of lines containing both code and comment in the source files.
AND operators
Mnemonic NBAND
Description Number of AND operators
Constants
Mnemonic NBCONST
Description Number of Constants
Private constant
Mnemonic NBCONSTPRIV
Description Number of Private constants
Public constants
Mnemonic NBCONSTPUB
Description Number of Public constants
Declared functions
Mnemonic NBDFUNC
Description Number of Declared functions/procedures
Private functions/Procedures
Mnemonic NBDFUNCPRIV
Description Number of Private function/Procedure
Public functions
Mnemonic NBDFUNCPUB
Description Number of Public functions/procedures
Exceptions
Mnemonic NBEXCEPT
Description Number of Declared Exceptions
Private exceptions
Mnemonic NBEXCEPTPRIV
Description Number of Private exceptions
Public exceptions
Mnemonic NBEXCEPTPUB
Description Number of Public exceptions
Separate functions/procedures
Mnemonic NBFUNCDSEP
Description Number of Separate functions/procedures
OR operators
Mnemonic NBOR
Description Number of OR operators
Separate packages
Mnemonic NBPACKDSEP
Description Number of package declared Separate
Protected objects
Mnemonic NBPROTOBJDSEP
Description Number of Declred Protected objects
Renamed objects
Mnemonic NBRENA
Description Number of Renamed object
Subtypes
Mnemonic NBSTYP
Description Number of Subtypes
Separate tasks
Mnemonic NBTASKDSEP
Description Number of task declared Separate
Types
Mnemonic NBTYP
Description Number of Types
Derived types
Mnemonic NBTYPDRV
Description Number of Derived types
Private types
Mnemonic NBTYPPRIV
Description Number of Private types
Public types
Mnemonic NBTYPPUB
Description Number of Public types
Variables
Mnemonic NBVAR
Description Number of Variables
Private variables
Mnemonic NBVARPRIV
Description Number of Private variables
Public variables
Mnemonic NBVARPUB
Description Number of Public variables
With statements
Mnemonic NBWITH
Description Number of With statements
Maximum Nested Structures
Mnemonic NEST
Description Maximum number of nested structures
Non-Cyclic Paths
Mnemonic PATH
Description Number of non-cyclic paths in the function.
Orelse operators
Mnemonic OREL
Description Number of 'orelse' operators
Raise statements
Mnemonic RAISE
Description Number of Raise statementts
Return Statements
Mnemonic RETURN
Description Number of 'return' statements in the function
Repeated Code Blocks
Mnemonic RS
Description Duplicated blocks in the function
Skipped Lines of Comment code
Mnemonic SKLC
Description Skipped Lines of Comment code i.e. lines that match a user defined regular expression to skip lines of comments.
Source Lines Of Code
Mnemonic SLOC
Description Number of lines of source code in the source file(s).
Executable Statements
Mnemonic STAT
Description Total number of executable statements.
Switch Statements
Mnemonic SWIT
Description Number of 'switch' statements in the function
Operand Occurrences
Mnemonic TOPD
Description Number of occurrences of operands: variables and constants ([Halstead,76]: N2)
Operator Occurrences
Mnemonic TOPT
Description Number of occurrences of operators: language keywords ([Halstead,76]: N1)
Lines Added
Mnemonic LADD
Description Number of lines added since the previous version.
Lines Modified
Mnemonic LMOD
Description Number of lines modified since the previous version.
Lines Removed
Mnemonic LREM
Description Number of lines removed since the previous version.
While Statements
Mnemonic WHIL
Description Number of 'while' statements in the function
Backward Goto shall not be used
Mnemonic BWGOTO
Description Backward gotos shall not be used.
Commented-out Source Code is not allowed
Mnemonic R_CSTAT
Description Commented-out Source Code is not allowed
Missing final else
Mnemonic ELSEFINAL
Description All if ... else if constructs shall be terminated with an else clause (see [MISRA-C:2004]: RULE 14.10).
Exit Label shall be named
Mnemonic EXTLABEL
Description Each exit label shall be named.
Use 'exit when' instead of if... exit syntax
Mnemonic EXTWHEN
Description Use 'exit when' instead of if... exit syntax.
Each loop shall be named
Mnemonic LOOPNAMED
Description Each loop shall be named.
Abort shall not be used
Mnemonic NOABORT
Description Use of 'abort'
Factorizable Classes
Mnemonic CAC_CL
Description Consider classes refactorization
Factorizable Files
Mnemonic CAC_FI
Description Consider files refactorization
Factorizable Functions
Mnemonic CAC_FN
Description Consider functions refactorization
Factorizable Packages
Mnemonic CAC_PKG
Description Consider packages refactorization
Cloned Classes
Mnemonic CC_CL
Description There shall be no duplicated classes
Cloned Files
Mnemonic CC_FI
Description There shall be no duplicated files
Cloned Functions
Mnemonic CC_FN
Description There shall be no duplicated functions
Cloned Algorithmic
Mnemonic CFTC_FN
Description There shall be no algorithmic cloning
Delay shall not be used
Mnemonic NODELAY
Description Use of 'delay'
FIXME shall not be commited in sources code
Mnemonic R_NOFIXME
Description FIXME shall not be commited in sources code as it brings confusion regarding code reliability.
GOTO shall not be used
Mnemonic NOGOTO
Description A unconditional GOTO shall not be used to jump outside the paragraph.
Avoid Duplicated Blocks in Function
Mnemonic RS_FN
Description There shall be no duplicated parts in functions
TODO shall not be commited in sources code
Mnemonic R_NOTODO
Description TODO shall not be commited in sources code as it brings confusion regarding code reliability.
There shall be no 'when others' in exception handler
Mnemonic NOWHEN_OTHERS
Description There shall be no 'when others' in exception handler.
Missing case in switch
Mnemonic ONECASE
Description Every switch statement shall have at least one case clause (see [MISRA-C:2004]: RULE 15.5).
Parameters shall be ordered: 'IN', 'OUT', 'IN OUT'.
Mnemonic PARAMORDER
Description Parameters shall be ordered: 'IN', 'OUT', 'IN OUT'.
Relaxed violation
Mnemonic RELAX
Description A rule violation is relaxed and justified.
Multiple exits are not allowed
Mnemonic RETURN
Description A function shall have a single point of exit at the end (see [MISRA-C:2004]: RULE 14.7).
Multiple Exit in loop
Mnemonic SGLEXT
Description There shall be a single exit by loop.
Andthen Operators
Mnemonic ANTH
Description Number of 'andthen' operators
Assignment Operators
Mnemonic ASOP
Description Number of assignment operators used in the source file
Number of comment blocks
Mnemonic BCOM
Description Number of comment blocks.
Header Blocks Of Comment
Mnemonic BHCO
Description Number block of comment placed before the beginning of the artefact.
Blank Lines
Mnemonic BLAN
Description Number of blank lines of code in the source file(s).
Brace Lines
Mnemonic BRAC
Description Number of lines of code containing only a brace in the source file(s).
Break in Loop
Mnemonic BRKL
Description Number of 'break' statements in loop in the function
Break in Switch
Mnemonic BRKS
Description Number of 'break' statements in 'switch' in the function
Case Blocks
Mnemonic CABL
Description Number of 'case' blocks in 'switch' in the function
Calls To
Mnemonic CAL2
Description Number of explicit calls to the function.
Called Functions
Mnemonic CALD
Description Number of distinct functions defined in the project source file and called by the function.
Calls From
Mnemonic CALF
Description Number of explicit calls from the function.
Calling Functions
Mnemonic CALI
Description Number of distinct functions calling the function.
Called External Functions
Mnemonic CALX
Description Number of distinct external functions called by the function - external i.e. not defined in the project
Case Labels
Mnemonic CASE
Description Number of 'case' labels in the function
Cyclomatic Complexity
Mnemonic CCN
Description Number of linearly independent paths in the function control graph.
Recursive Calls
Mnemonic CDRI
Description Number of directly recursive calls in the function.
Control Flow Token
Mnemonic CFT
Description Number of tokens in the control flow of functions
Called Depth
Mnemonic CGDD
Description Maximum depth of called functions.
Calling Depth
Mnemonic CGDI
Description Maximum depth of calling functions.
Call Graph Depth
Mnemonic CGDM
Description Maximum depth of the call graph.
Minimum Number of Indirect Cycles
Mnemonic CIRI
Description Minimum number of indirect call graph cycles in which the function is involved (excluding recursive calls).
Comment Lines
Mnemonic CLOC
Description Number of lines of comments in the source file(s).
Continue Statements
Mnemonic CONT
Description Number of 'continue' statements in the function
Comparison Operators
Mnemonic CPOP
Description Number of comparison operators used in the source file
Commented Statements
Mnemonic CSTAT
Description Number of Commented Statements.
Minimum Number of Cycles
Mnemonic CYCL
Description Minimum number of call graph cycles in which the function is involved (including recursivity).
Default Statement
Mnemonic DEFT
Description Number of 'default' blocks in 'switch' in the function
Distinct Operands
Mnemonic DOPD
Description Number of distinct operands: variables and constants ([Halstead,76]: n2)
Distinct Operators
Mnemonic DOPT
Description Number of distinct operators: language keywords ([Halstead,76]: n1)
Do While Statements
Mnemonic DOWH
Description Number of 'do...while' statements in the function
Else Statements
Mnemonic ELSE
Description Number of 'else' statements
For Statements
Mnemonic FOR
Description Number of 'for' statements in the function
Structures Added
Mnemonic SADD
Description Number of control structures added since the previous version.
Structures Modified
Mnemonic SMOD
Description Number of control structures modified since the previous version.
Structures Removed
Mnemonic SREM
Description Number of control structures removed since the previous version.
Number of Structures
Mnemonic SSIZ
Description Number of control structures: iterations, selections, sequences
Goto Statements
Mnemonic GOTO
Description Number of 'goto' statements
Header Lines Of Comment
Mnemonic HCOM
Description Number of comment lines placed before the beginning of the artefact.
Header Lines Of Code
Mnemonic HLOC
Description Number of lines between the function or class definition and the first opening brace.
Cloned Code
Mnemonic ICC
Description Duplicated code in this artefact
Cloned Control Flow Tokens
Mnemonic ICFTC
Description Number of duplicated tokens in control flow of functions
If Statements
Mnemonic IF
Description Number of 'if' statements
Line Count
Mnemonic LC
Description Number of lines.
Use of longjump
Mnemonic LONGJMP
Description Use of longjump
Loop Statements
Mnemonic LOOP
Description Number of loop statements in the function
Memory Allocation
Mnemonic MEMALLOC
Description Memory Allocation
Memory Freeing
Mnemonic MEMFREE
Description Memory Freeing
Mixed Lines
Mnemonic MLOC
Description Number of lines containing both code and comment in the source files.
Maximum Nested Structures
Mnemonic NEST
Description Maximum number of nested structures
Number of Parameters
Mnemonic NOP
Description Number of formal parameters in the function
Non-Cyclic Paths
Mnemonic PATH
Description Number of non-cyclic paths in the function.
Use of offsetof
Mnemonic OFFSETOF
Description Use of offsetof
Orelse operators
Mnemonic OREL
Description Number of 'orelse' operators
Number of #DEFINE
Mnemonic P_DEFINE
Description Number of #DEFINE
Number of #ELIF
Mnemonic P_ELIF
Description Number of #ELIF
Number of #ELSE
Mnemonic P_ELSE
Description Number of #ELSE
Number of #ENDIF
Mnemonic P_ENDIF
Description Number of #ENDIF
Number of #ERROR
Mnemonic P_ERROR
Description Number of #ERROR
Number of #IF
Mnemonic P_IF
Description Number of #IF
Number of #IFDEF
Mnemonic P_IFDEF
Description Number of #IFDEF
Number of #IFNDEF
Mnemonic P_IFNDEF
Description Number of #IFNDEF
Number of Include
Mnemonic P_INCLUDE
Description Number of Include
Compiler FLAG Nested Level
Mnemonic P_NEST
Description Compiler FLAG Nested Level
Number of #PRAGMA
Mnemonic P_PRAGMA
Description Number of #PRAGMA
Number of #UNDEF
Mnemonic P_UNDEF
Description Number of #UNDEF
Number of #WARNING
Mnemonic P_WARNING
Description Number of #WARNING
Return Statements
Mnemonic RETURN
Description Number of 'return' statements in the function
Repeated Code Blocks
Mnemonic RS
Description Duplicated blocks in the function
Use of setjump
Mnemonic SETJMP
Description Use of setjump
Signal Functions
Mnemonic SIGNAL
Description Use of signal Functions
Skipped Lines of Comment code
Mnemonic SKLC
Description Skipped Lines of Comment code i.e. lines that match a user defined regular expression to skip lines of comments.
Source Lines Of Code
Mnemonic SLOC
Description Number of lines of source code in the source file(s).
Special Operators
Mnemonic SPOP
Description Number of special operators used in the source file
Executable Statements
Mnemonic STAT
Description Total number of executable statements.
IO Functions
Mnemonic STDIO
Description Use IO Functions
String Conversions
Mnemonic STRINGCONV
Description Use of String Conversions
Switch Statements
Mnemonic SWIT
Description Number of 'switch' statements in the function
System Functions
Mnemonic SYSCOM
Description Use of system Functions
Ternary operators
Mnemonic TERN
Description Number of ternary operators i.e. ?:
Time Handling
Mnemonic TIMEHDL
Description Use of Time Handling
Operand Occurrences
Mnemonic TOPD
Description Number of occurrences of operands: variables and constants ([Halstead,76]: N2)
Operator Occurrences
Mnemonic TOPT
Description Number of occurrences of operators: language keywords ([Halstead,76]: N1)
Lines Added
Mnemonic LADD
Description Number of lines added since the previous version.
Lines Modified
Mnemonic LMOD
Description Number of lines modified since the previous version.
Lines Removed
Mnemonic LREM
Description Number of lines removed since the previous version.
While Statements
Mnemonic WHIL
Description Number of 'while' statements in the function
Missing Break
Mnemonic BRKFINAL
Description An unconditional break statement shall terminate every non-empty switch clause (see [MISRA-C:2004]: RULE 15.2).
Backward Goto shall not be used
Mnemonic BWGOTO
Description Backward gotos shall not be used.
Missing compound statement
Mnemonic COMPOUND
Description The statement forming the body of a switch, while, do ... while or for statement shall be a compound statement (see [MISRA-C:2004]: RULE 14.8).
Missing compound if
Mnemonic COMPOUNDIF
Description An if (expression) construct shall be followed by a compound statement. The else keyword shall be followed by either a compound statement, or another if statement (see [MISRA-C:2004]: RULE 14.9).
Commented-out Source Code is not allowed
Mnemonic R_CSTAT
Description Commented-out Source Code is not allowed
Missing Default
Mnemonic DEFAULT
Description The final clause of a switch statement shall be the default clause (see [MISRA-C:2004]: RULE 15.3).
Dynamic Memory Allocation shall not be used
Mnemonic DYNMEMALLOC
Description Dynamic heap memory allocation shall not used. This precludes the use of the functions calloc, malloc, realloc and free (see [MISRA-C:2004]: RULE 20.4)
Missing final else
Mnemonic ELSEFINAL
Description All if ... else if constructs shall be terminated with an else clause (see [MISRA-C:2004]: RULE 14.10).
Macro longjmp or setjmp shall not be used
Mnemonic JUMP
Description (The setjmp macro and the longjmp function shall not be used (see [MISRA-C:2004]: RULE 20.7).
Nesting Level of Preprocessing directives is too high
Mnemonic R_MAXPNEST
Description Nesting Level of Preprocessing directives is too high
Assignment in Boolean
Mnemonic NOASGCOND
Description Assignment operators shall not be used in expressions that yield a boolean value
Assignment without Comparison
Mnemonic NOASGINBOOL
Description Assignment operators shall not be used in expressions that do not contain comparison operators.
Factorizable Classes
Mnemonic CAC_CL
Description Consider classes refactorization
Factorizable Files
Mnemonic CAC_FI
Description Consider files refactorization
Factorizable Functions
Mnemonic CAC_FN
Description Consider functions refactorization
Factorizable Packages
Mnemonic CAC_PKG
Description Consider packages refactorization
Cloned Classes
Mnemonic CC_CL
Description There shall be no duplicated classes
Cloned Files
Mnemonic CC_FI
Description There shall be no duplicated files
Cloned Functions
Mnemonic CC_FN
Description There shall be no duplicated functions
Cloned Algorithmic
Mnemonic CFTC_FN
Description There shall be no algorithmic cloning
There shall be a no code before first case
Mnemonic NOCODEBEFORECASE
Description There shall be a no code before the first case of a switch statement.
Continue shall not be used
Mnemonic NOCONT
Description The 'continue' statement shall not be used (see [MISRA-C:2004]: RULE 14.5).
Fallthrough shall be avoided
Mnemonic NOFALLTHROUGH
Description There shall be no fallthrough the next case in a switch statement.
FIXME shall not be commited in sources code
Mnemonic R_NOFIXME
Description FIXME shall not be commited in sources code as it brings confusion regarding code reliability.
GOTO shall not be used
Mnemonic NOGOTO
Description A unconditional GOTO shall not be used to jump outside the paragraph.
Label out a switch
Mnemonic NOLABEL
Description A switch label shall only be used when the most closely-enclosing compound statement is the body of a switch statement (see [MISRA-C:2004]: RULE 15.1).
Recursion are not allowed
Mnemonic NORECURSION
Description Functions shall not called themselves either directly or indirectly (see [MISRA-C:2004]: RULE 16.2).
Avoid Duplicated Blocks in Function
Mnemonic RS_FN
Description There shall be no duplicated parts in functions
TODO shall not be commited in sources code
Mnemonic R_NOTODO
Description TODO shall not be commited in sources code as it brings confusion regarding code reliability.
Macro offsetof shall not be used
Mnemonic OFFSETOF
Description The macro offsetof, in library <stddef.h>, shall not be used (see [MISRA-C:2004]: RULE 20.6).
Missing case in switch
Mnemonic ONECASE
Description Every switch statement shall have at least one case clause (see [MISRA-C:2004]: RULE 15.5).
Relaxed violation
Mnemonic RELAX
Description A rule violation is relaxed and justified.
Multiple exits are not allowed
Mnemonic RETURN
Description A function shall have a single point of exit at the end (see [MISRA-C:2004]: RULE 14.7).
Risky Empty Statement
Mnemonic RISKYEMPTY
Description Risky Empty Statement
Multiple break in loop are not allowed
Mnemonic SGLBRK
Description For any iteration statement there shall be at most one 'break' statement used for loop termination (see [MISRA-C:2004]: RULE 14.6).
Signal or Raise shall not be used
Mnemonic SIGNAL
Description The signal handling facilities of <signal.h> shall not be used (see [MISRA-C:2004]: RULE 20.8).
IO Functions shall not be used
Mnemonic STDIO
Description The input/output library <stdio.h> shall not be used in production code (see [MISRA-C:2004]: RULE 20.9).
'atof, atoi or atol' shall not be used
Mnemonic STRINGCONV
Description The library functions atof, atoi and atol from library <stdlib.h> shall not be used (see [MISRA-C:2004]: RULE 20.10).
'abort, exit, getenv or system' shall not be used
Mnemonic SYSCOM
Description The library functions abort, exit, getenv and system from library <stdlib.h> shall not be used (see [MISRA-C:2004]: RULE 20.11).
Time Handling Functions shall not be used
Mnemonic TIMEHDL
Description The time handling functions of library <time.h> shall not be used: time, strftime, clock, difftime, mktime (see [MISRA-C:2004]: RULE 20.12).
Arithmetic Operators
Mnemonic AROP
Description Number of arithmetic operators
Blank Lines
Mnemonic BLAN
Description Number of blank lines of code in the source file(s).
CALL Statements
Mnemonic CALL
Description Number of CALL statements
Cyclomatic Complexity
Mnemonic CCN
Description Number of linearly independent paths in the function control graph.
Control Flow Token
Mnemonic CFT
Description Number of tokens in the control flow of functions
Call Graph Depth
Mnemonic CGDM
Description Maximum depth of the call graph.
Comment Lines
Mnemonic CLOC
Description Number of lines of comments in the source file(s).
Comment lines with code
Mnemonic CLOC_CODE
Description Number of lines of comments in the source file(s) whose first word is a keyword.
Comment lines without alphabetic characters
Mnemonic CLOC_NULL
Description Number of lines of comments in the source file(s) without alphabetic character.
Real comment lines with alphabetic characters
Mnemonic CLOC_REAL
Description Number of real lines of comments in the source file(s) with alphabetic characters.
Conditions
Mnemonic COND
Description Number of conditions
Commented Statements
Mnemonic CSTAT
Description Number of Commented Statements.
Minimum Number of Cycles
Mnemonic CYCL
Description Minimum number of call graph cycles in which the function is involved (including recursivity).
Debug lines
Mnemonic DBUG
Description Number of lines of debug in the source file(s).
DISPLAY statements
Mnemonic DISPLAY
Description Number of DISPLAY statements
Distinct Operands
Mnemonic DOPD
Description Number of distinct operands: variables and constants ([Halstead,76]: n2)
Distinct Operands in Data Div.
Mnemonic DOPD_DD
Description Number of distinct operands in Data Division: variables and constants ([Halstead,76]: n2)
Distinct Operands in Procedure Div.
Mnemonic DOPD_PD
Description Number of distinct operands in Procedure Division: variables and constants ([Halstead,76]: n2)
Distinct Operators
Mnemonic DOPT
Description Number of distinct operators: language keywords ([Halstead,76]: n1)
Distinct Operators in Data Div.
Mnemonic DOPT_DD
Description Number of distinct operators in Data Division: language keywords ([Halstead,76]: n1)
Distinct Operators in Procedure Div.
Mnemonic DOPT_PD
Description Number of distinct operators in Procedure Division: language keywords ([Halstead,76]: n1)
Else Statements
Mnemonic ELSE
Description Number of 'else' statements
EVALUATE Statements
Mnemonic EVAL
Description Number of EVALUATE statements
Call to exit
Mnemonic EXIT
Description Number of calls to the exit function
File Declarations
Mnemonic FD
Description Number of file declarations
Files Used
Mnemonic FDUS
Description Number of references to files
Goto Statements
Mnemonic GOTO
Description Number of 'goto' statements
Cloned Code
Mnemonic ICC
Description Duplicated code in this artefact
Cloned Control Flow Tokens
Mnemonic ICFTC
Description Number of duplicated tokens in control flow of functions
Is IDMS active
Mnemonic IDMS_ACTIVE
Description Is IDMS active in program
IDMS instructions called
Mnemonic IDMS_CALLBD
Description Number of IDMS instructions called
IDMS records called
Mnemonic IDMS_CALLREC
Description Number of IDMS records called
IDMS calls for modification
Mnemonic IDMS_MOD
Description Number of calls for modification
IDMS calls for reading/searching
Mnemonic IDMS_READ
Description Number of calls for reading/searching
IDMS subschema definition
Mnemonic IDMS_SSCH
Description Number of IDMS subschema definition
If Statements
Mnemonic IF
Description Number of 'if' statements
Line Count
Mnemonic LC
Description Number of lines.
Maximum Nested Structures
Mnemonic NEST
Description Maximum number of nested structures
Number of paragraphs
Mnemonic PARA
Description Number of paragraphs.
PERFORM Statements
Mnemonic PERF
Description Number of PERFORM statements
Repeated Code Blocks
Mnemonic RS
Description Duplicated blocks in the function
Data Declarations
Mnemonic SD
Description Number of data declarations
Data Used
Mnemonic SDUS
Description Number of used data
Number of Sections
Mnemonic SECT
Description Number of sections.
Source Lines Of Code
Mnemonic SLOC
Description Number of lines of source code in the source file(s).
Executable Statements
Mnemonic STAT
Description Total number of executable statements.
STOP Statements
Mnemonic STOP
Description Number of STOP statements
TIMES Clauses
Mnemonic TIME
Description Number of TIMES clauses in PERFORM statements
Operand Occurrences
Mnemonic TOPD
Description Number of occurrences of operands: variables and constants ([Halstead,76]: N2)
Operand Occurrences in Data Div.
Mnemonic TOPD_DD
Description Number of occurrences of operands in Data Division: variables and constants ([Halstead,76]: N2)
Operand Occurrences in Procedure Div.
Mnemonic TOPD_PD
Description Number of occurrences of operands in Procedure Division: variables and constants ([Halstead,76]: N2)
Operator Occurrences
Mnemonic TOPT
Description Number of occurrences of operators: language keywords ([Halstead,76]: N1)
Operator Occurrences in Data Div.
Mnemonic TOPT_DD
Description Number of occurrences of operators in Data Division: language keywords ([Halstead,76]: N1)
Operator Occurrences in Procedure Div.
Mnemonic TOPT_PD
Description Number of occurrences of operators in Procedure Division: language keywords ([Halstead,76]: N1)
Lines Added
Mnemonic LADD
Description Number of lines added since the previous version.
Lines Modified
Mnemonic LMOD
Description Number of lines modified since the previous version.
Lines Removed
Mnemonic LREM
Description Number of lines removed since the previous version.
UNTIL Clauses
Mnemonic UNTL
Description Number of UNTIL clauses in PERFORM statements
VARYING Clauses
Mnemonic VARY
Description Number of VARYING clauses in PERFORM statements
WHEN Clauses
Mnemonic WHEN
Description Number of WHEN and WHENOTHER clauses in EVALUATE Statements
BLOCK Clause
Mnemonic BLOCKSIZE
Description In the FILE-DESCRIPTION section, each file description shall always use the BLOCK CONTAINS 0 RECORDS clause. The system will assign the BLOCK-SIZE automatically when allocating the file.
Column 7 for * and D Only
Mnemonic COLUMN7
Description Only * and D shall be used in column 7.
Comment Division
Mnemonic COMMENT_DIVISION
Description A comment is recommended before each division.
Comment FD
Mnemonic COMMENT_FD
Description A comment is recommended before each file description.
Comment First Level
Mnemonic COMMENT_FIRST_LEVEL
Description A comment is recommended before each first level of IF or PERFORM.
Comment Variable 01 and 77
Mnemonic COMMENT_FIRST_VARIABLE
Description A comment is recommended before each variable 01 and 77.
Empty lines around DIVISION
Mnemonic CPRS_DIVISION
Description An empty line shall precede and follow a DIVISION.
Empty line after EXIT
Mnemonic CPRS_EXIT
Description An empty line shall follow an EXIT statement.
Bad statement indentation
Mnemonic CPRS_INDENT
Description The nested statements shall be indented.
Bad indentation of scope terminator
Mnemonic CPRS_SCOPE_TERMINATOR
Description Scope terminators must be on the same column as the beginning of the block to facilitate program readability.
Empty line after SECTION
Mnemonic CPRS_SECTION
Description An empty line shall follow a SECTION.
Variable declaration format
Mnemonic DCLWS
Description A variable shall be declared in the WORKING STORAGE using the format ^W
Paragraphs having exact same name
Mnemonic R_DUPPARA
Description Paragraphs having exact same name in the same PROGRAM-ID is forbidden.
Missing END-EVALUATE
Mnemonic EVALWITHENDEVAL
Description An EVALUATE statement shall be closed by END-EVALUATE
Close file once
Mnemonic FILECLOSEONCE
Description A file shall be closed only once
Close open file
Mnemonic FILEOPENCLOSE
Description A file shall be opened and closed in the same program
Open file once
Mnemonic FILEOPENONCE
Description A file shall be opened only once
Use FILE STATUS
Mnemonic FILESTATUS
Description FILE STATUS shall be used to manage I/O errors.
Single GOBACK
Mnemonic GOBACK
Description Only a single GOBACK shall be used in a subprgram.
IDMS FIND CURRENT
Mnemonic IDMSFINDCURRENT
Description IDMS FIND CURRENT is forbidden
IDMS One modify by PERFORM
Mnemonic IDMSONEMODFORPERF
Description Each IDMS modify statement (MODIFY/ERASE/STORE) should be in a specific perform
IDMS One same call
Mnemonic IDMSONESAMECALL
Description Avoid duplicated IDMS call.
IDMS Ready Protected Update
Mnemonic IDMSREADYPRTUPD
Description Each IDMS Ready Update statement should be defined in PROTECTED mode.
IDMS Return Code
Mnemonic IDMSRETURNCODE
Description After each IDMS statement, return code should be checked.
Missing END-IF
Mnemonic IFWITHENDIF
Description An IF statement shall be closed by an END-IF
Avoid using inline PERFORM with too many lines of code
Mnemonic INLINE_PERFORM_SIZE
Description Avoid Cobol programs containing PERFORM - END-PERFORM loops with more than 80 lines.
Standard Label
Mnemonic LABELSTD
Description In the FILE-DESCRIPTION section, each file description shall always use the LABEL RECORD STANDARD clause. Only the standard labels are checked by the system.
Missing END-ADD
Mnemonic MISSING_END_ADD
Description An ADD statement shall be closed by an END-ADD.
Missing END-CALL
Mnemonic MISSING_END_CALL
Description An CALL statement shall be closed by an END-CALL.
Missing END-COMPUTE
Mnemonic MISSING_END_COMPUTE
Description An COMPUTE statement shall be closed by an END-COMPUTE.
Missing END-DELETE
Mnemonic MISSING_END_DELETE
Description An DELETE statement shall be closed by an END-DELETE.
Missing END-DIVIDE
Mnemonic MISSING_END_DIVIDE
Description An DIVIDE statement shall be closed by an END-DIVIDE.
Missing END-MULTIPLY
Mnemonic MISSING_END_MULTIPLY
Description An MULTIPLY statement shall be closed by an END-MULTIPLY.
Missing END-READ
Mnemonic MISSING_END_READ
Description An READ statement shall be closed by an END-READ.
Missing END-RETURN
Mnemonic MISSING_END_RETURN
Description An RETURN statement shall be closed by an END-RETURN.
Missing END-REWRITE
Mnemonic MISSING_END_REWRITE
Description An REWRITE statement shall be closed by an END-REWRITE.
Missing END-SEARCH
Mnemonic MISSING_END_SEARCH
Description An SEARCH statement shall be closed by an END-SEARCH.
Missing END-START
Mnemonic MISSING_END_START
Description An START statement shall be closed by an END-START.
Missing END-STRING
Mnemonic MISSING_END_STRING
Description An STRING statement shall be closed by an END-STRING.
Missing END-SUBTRACT
Mnemonic MISSING_END_SUBTRACT
Description An SUBTRACT statement shall be closed by an END-SUBTRACT.
Missing END-UNSTRING
Mnemonic MISSING_END_UNSTRING
Description An UNSTRING statement shall be closed by an END-UNSTRING.
Missing END-WRITE
Mnemonic MISSING_END_WRITE
Description An WRITE statement shall be closed by an END-WRITE.
Missing FILLER
Mnemonic MISSING_FILLER
Description Even the 'FILLER' word is optional since Cobol85, it is recommanded to write it.
No more than 3 nested IF
Mnemonic NESTEDIF
Description There shall be no more than 3 nexted IF statements
Nested Program
Mnemonic NESTED_PROGRAM
Description Nested program is not recommanded
ALTER shall not be used
Mnemonic NOALTER
Description The ALTER statement shall not be used. Labels are decided only at execution time.
Factorizable Classes
Mnemonic CAC_CL
Description Consider classes refactorization
Factorizable Files
Mnemonic CAC_FI
Description Consider files refactorization
Factorizable Functions
Mnemonic CAC_FN
Description Consider functions refactorization
Factorizable Packages
Mnemonic CAC_PKG
Description Consider packages refactorization
Cloned Classes
Mnemonic CC_CL
Description There shall be no duplicated classes
Cloned Files
Mnemonic CC_FI
Description There shall be no duplicated files
Cloned Functions
Mnemonic CC_FN
Description There shall be no duplicated functions
Cloned Algorithmic
Mnemonic CFTC_FN
Description There shall be no algorithmic cloning
No Conditional GOTO
Mnemonic NOCONDGOTO
Description Conditional GO TO shall not be used. Use EVALUATE instead.
No MOVE CORRESPONDING
Mnemonic NOCORRESPONDING
Description MOVE CORRESPONDING shall not be used.
COMPUTE instead of ADD
Mnemonic NOCPXADD
Description COMPUTE shall be used to add more than 2 data instead of ADD.
COMPUTE instead of SUBTRACT
Mnemonic NOCPXSUBTRACT
Description COMPUTE shall be used to add more than 2 data instead of SUBTRACT.
No DEBUG MODE
Mnemonic NODEBUG
Description DEBUGGING-MODE shall not be used
COMPUTE instead of DIVIDE
Mnemonic NODIVIDE
Description COMPUTE shall be used instead of DIVIDE.
FIXME shall not be commited in sources code
Mnemonic R_NOFIXME
Description FIXME shall not be commited in sources code as it brings confusion regarding code reliability.
No INITIALIZE
Mnemonic NOINITIALIZE
Description INITIALIZE shall not be used. Use MOVE to initialize variable.
COMPUTE instead of MULTIPLY
Mnemonic NOMULTIPLY
Description COMPUTE shall be used instead of MULTIPLY.
No procedural COPY
Mnemonic NOPROCCOPY
Description Procedural COPY clauses shall not be used. Use subprograms instead.
No RENAMES
Mnemonic NORENAMES
Description The RENAMES clause shall not be used.
Avoid Duplicated Blocks in Function
Mnemonic RS_FN
Description There shall be no duplicated parts in functions
TODO shall not be commited in sources code
Mnemonic R_NOTODO
Description TODO shall not be commited in sources code as it brings confusion regarding code reliability.
No Variables S9(9)
Mnemonic NOVARS9
Description The variables shall not be declared in S9(9) COMP. It implies a conversion
Avoid GOTO jumps out of PERFORM range
Mnemonic NO_GOTO_OUT_OF_PERFORM_RANGE
Description Avoid Cobol Programs containing sections or paragraphs that are called by PERFORM statements and that contain a GO TO statement to another section or paragraph that is not in the scope of the initial PERFORM.
Avoid OPEN/CLOSE inside loops
Mnemonic NO_OPEN_CLOSE_INSIDE_LOOP
Description Avoid Cobol programs using OPEN or CLOSE in loops. Following loops are taken into account: - PERFORM TIMES / UNTIL / VARYING
Avoid accessing data by using the position and length
Mnemonic NO_REFERENCE_ACCESS
Description Avoid Cobol programs accessing part of data by using a position and a length.
Use COMP for OCCURS
Mnemonic OCCURSCOMP
Description For the OCCURS DEPENDING ON clause, the corresponding item shall be declared using COMP or BINARY.
Avoid mixing paragraphs and sections
Mnemonic PARA_OR_SECT_ONLY
Description A program should not mix paragraphs and sections.
Perform with no THRU
Mnemonic PERFORMWITHTHRU
Description The call of a paragraph shall be made in the use of PERFORM paragraphName THRU paragraphNameExit.
Bad paragraph position used in PERFORM
Mnemonic POSITION_OF_PERFORM_RANGE
Description On a PERFORM range: P1 THRU P2, P1 must be declared before P2.
READ-WRITE Instruction
Mnemonic READWRITE
Description READ A INTO B or WRITE A FROM B forms shall be used for reading/writing a file.
Avoid using READ statement without AT END clause
Mnemonic READ_AT_END
Description Avoid Cobol programs using READ statements without the AT END clause.
Relaxed violation
Mnemonic RELAX
Description A rule violation is relaxed and justified.
Statement shall be in uppercase
Mnemonic UPPERCASE
Description A COBOL statement shall be written in uppercase to keep the program readable.
Use SYNCHRONIZED
Mnemonic USESYNCH
Description SYNCHRONIZED shall be used for COMP, COMP-1, COMP-2, POINTER and INDEX variables.
Homonymous variable shall not be used
Mnemonic VARNAME
Description There shall be no homonymous variables.
Use WHEN OTHER
Mnemonic WHENOTHER
Description EVALUATE shall end by a WHEN OTHER clause.
Constant Data
Mnemonic ACST
Description Number of constant data
Number of Attributes
Mnemonic ANBR
Description Number of attributes
Number of data without accessibility
Mnemonic ANON
Description Number of data without accessibility
Andthen Operators
Mnemonic ANTH
Description Number of 'andthen' operators
Public Data
Mnemonic APBL
Description Number of public data
Protected Data
Mnemonic APRT
Description Number of protected data
Private data
Mnemonic APRV
Description Number of private data
Assignment Operators
Mnemonic ASOP
Description Number of assignment operators used in the source file
Static Data
Mnemonic ASTA
Description Number of static data
Number of comment blocks
Mnemonic BCOM
Description Number of comment blocks.
Header Blocks Of Comment
Mnemonic BHCO
Description Number block of comment placed before the beginning of the artefact.
Blank Lines
Mnemonic BLAN
Description Number of blank lines of code in the source file(s).
Brace Lines
Mnemonic BRAC
Description Number of lines of code containing only a brace in the source file(s).
Break in Loop
Mnemonic BRKL
Description Number of 'break' statements in loop in the function
Break in Switch
Mnemonic BRKS
Description Number of 'break' statements in 'switch' in the function
Case Blocks
Mnemonic CABL
Description Number of 'case' blocks in 'switch' in the function
Case Labels
Mnemonic CASE
Description Number of 'case' labels in the function
Catch Statements
Mnemonic CATC
Description Number of 'catch' statements in the function
Cyclomatic Complexity
Mnemonic CCN
Description Number of linearly independent paths in the function control graph.
Control Flow Token
Mnemonic CFT
Description Number of tokens in the control flow of functions
Call Graph Depth
Mnemonic CGDM
Description Maximum depth of the call graph.
Comment Lines
Mnemonic CLOC
Description Number of lines of comments in the source file(s).
Continue Statements
Mnemonic CONT
Description Number of 'continue' statements in the function
Comparison Operators
Mnemonic CPOP
Description Number of comparison operators used in the source file
Commented Statements
Mnemonic CSTAT
Description Number of Commented Statements.
Minimum Number of Cycles
Mnemonic CYCL
Description Minimum number of call graph cycles in which the function is involved (including recursivity).
Depth of Descendant Tree
Mnemonic DDT
Description Maximun depth of the inheritance tree from the class
Default Statement
Mnemonic DEFT
Description Number of 'default' blocks in 'switch' in the function
Depth of Inheritance Tree
Mnemonic DIT
Description Maximun depth of the class inheritance tree
Distinct Operands
Mnemonic DOPD
Description Number of distinct operands: variables and constants ([Halstead,76]: n2)
Distinct Operators
Mnemonic DOPT
Description Number of distinct operators: language keywords ([Halstead,76]: n1)
Do While Statements
Mnemonic DOWH
Description Number of 'do...while' statements in the function
Else Statements
Mnemonic ELSE
Description Number of 'else' statements
For Statements
Mnemonic FOR
Description Number of 'for' statements in the function
Structures Added
Mnemonic SADD
Description Number of control structures added since the previous version.
Structures Modified
Mnemonic SMOD
Description Number of control structures modified since the previous version.
Structures Removed
Mnemonic SREM
Description Number of control structures removed since the previous version.
Number of Structures
Mnemonic SSIZ
Description Number of control structures: iterations, selections, sequences
Goto Statements
Mnemonic GOTO
Description Number of 'goto' statements
Header Lines Of Comment
Mnemonic HCOM
Description Number of comment lines placed before the beginning of the artefact.
Header Lines Of Code
Mnemonic HLOC
Description Number of lines between the function or class definition and the first opening brace.
Cloned Code
Mnemonic ICC
Description Duplicated code in this artefact
Cloned Control Flow Tokens
Mnemonic ICFTC
Description Number of duplicated tokens in control flow of functions
If Statements
Mnemonic IF
Description Number of 'if' statements
Line Count
Mnemonic LC
Description Number of lines.
Loop Statements
Mnemonic LOOP
Description Number of loop statements in the function
Multiple Inheritance Indicator
Mnemonic MII
Description Number of classes from which the class inherits directly
Mixed Lines
Mnemonic MLOC
Description Number of lines containing both code and comment in the source files.
Methods without Accessibility
Mnemonic MNON
Description Number of methods without any accessibility specifier
Public Methods
Mnemonic MPBL
Description Number of public methods
Protected Methods
Mnemonic MPRT
Description Number of protected methods
Private Methods
Mnemonic MPRV
Description Number of private methods
Static Methods
Mnemonic MSTA
Description Number of static methods
Number of Ancestors
Mnemonic NAC
Description Number of classes from which the class inherits directly or indirectly
Number of Descendants
Mnemonic NDC
Description Number of classes which inherit from the class directly or indirectly
Maximum Nested Structures
Mnemonic NEST
Description Maximum number of nested structures
Number Of Children
Mnemonic NOC
Description Number of classes which inherit directly from the class
Number of Parameters
Mnemonic NOP
Description Number of formal parameters in the function
Non-Cyclic Paths
Mnemonic PATH
Description Number of non-cyclic paths in the function.
Orelse operators
Mnemonic OREL
Description Number of 'orelse' operators
Number of #DEFINE
Mnemonic P_DEFINE
Description Number of #DEFINE
Number of #ELIF
Mnemonic P_ELIF
Description Number of #ELIF
Number of #ELSE
Mnemonic P_ELSE
Description Number of #ELSE
Number of #ENDIF
Mnemonic P_ENDIF
Description Number of #ENDIF
Number of #ERROR
Mnemonic P_ERROR
Description Number of #ERROR
Number of #IF
Mnemonic P_IF
Description Number of #IF
Number of #IFDEF
Mnemonic P_IFDEF
Description Number of #IFDEF
Number of #IFNDEF
Mnemonic P_IFNDEF
Description Number of #IFNDEF
Number of Include
Mnemonic P_INCLUDE
Description Number of Include
Compiler FLAG Nested Level
Mnemonic P_NEST
Description Compiler FLAG Nested Level
Number of #PRAGMA
Mnemonic P_PRAGMA
Description Number of #PRAGMA
Number of #UNDEF
Mnemonic P_UNDEF
Description Number of #UNDEF
Number of #WARNING
Mnemonic P_WARNING
Description Number of #WARNING
Return Statements
Mnemonic RETURN
Description Number of 'return' statements in the function
Repeated Code Blocks
Mnemonic RS
Description Duplicated blocks in the function
Skipped Lines of Comment code
Mnemonic SKLC
Description Skipped Lines of Comment code i.e. lines that match a user defined regular expression to skip lines of comments.
Source Lines Of Code
Mnemonic SLOC
Description Number of lines of source code in the source file(s).
Special Operators
Mnemonic SPOP
Description Number of special operators used in the source file
Executable Statements
Mnemonic STAT
Description Total number of executable statements.
Switch Statements
Mnemonic SWIT
Description Number of 'switch' statements in the function
Ternary operators
Mnemonic TERN
Description Number of ternary operators i.e. ?:
Throw Statements
Mnemonic THRO
Description Number of 'throw' statements in the function
Operand Occurrences
Mnemonic TOPD
Description Number of occurrences of operands: variables and constants ([Halstead,76]: N2)
Operator Occurrences
Mnemonic TOPT
Description Number of occurrences of operators: language keywords ([Halstead,76]: N1)
Try Statements
Mnemonic TRY
Description Number of 'try' statements in the function
Lines Added
Mnemonic LADD
Description Number of lines added since the previous version.
Lines Modified
Mnemonic LMOD
Description Number of lines modified since the previous version.
Lines Removed
Mnemonic LREM
Description Number of lines removed since the previous version.
While Statements
Mnemonic WHIL
Description Number of 'while' statements in the function
Weighted Method per Class
Mnemonic XWMC
Description Sum of cyclomatic complexities of methods implemented outside the class definition
Missing Break
Mnemonic BRKFINAL
Description An unconditional break statement shall terminate every non-empty switch clause (see [MISRA-C:2004]: RULE 15.2).
Backward Goto shall not be used
Mnemonic BWGOTO
Description Backward gotos shall not be used.
Missing compound statement
Mnemonic COMPOUND
Description The statement forming the body of a switch, while, do ... while or for statement shall be a compound statement (see [MISRA-C:2004]: RULE 14.8).
Missing compound if
Mnemonic COMPOUNDIF
Description An if (expression) construct shall be followed by a compound statement. The else keyword shall be followed by either a compound statement, or another if statement (see [MISRA-C:2004]: RULE 14.9).
Commented-out Source Code is not allowed
Mnemonic R_CSTAT
Description Commented-out Source Code is not allowed
Missing Default
Mnemonic DEFAULT
Description The final clause of a switch statement shall be the default clause (see [MISRA-C:2004]: RULE 15.3).
Missing final else
Mnemonic ELSEFINAL
Description All if ... else if constructs shall be terminated with an else clause (see [MISRA-C:2004]: RULE 14.10).
Nesting Level of Preprocessing directives is too high
Mnemonic R_MAXPNEST
Description Nesting Level of Preprocessing directives is too high
Assignment in Boolean
Mnemonic NOASGCOND
Description Assignment operators shall not be used in expressions that yield a boolean value
Assignment without Comparison
Mnemonic NOASGINBOOL
Description Assignment operators shall not be used in expressions that do not contain comparison operators.
Factorizable Classes
Mnemonic CAC_CL
Description Consider classes refactorization
Factorizable Files
Mnemonic CAC_FI
Description Consider files refactorization
Factorizable Functions
Mnemonic CAC_FN
Description Consider functions refactorization
Factorizable Packages
Mnemonic CAC_PKG
Description Consider packages refactorization
Cloned Classes
Mnemonic CC_CL
Description There shall be no duplicated classes
Cloned Files
Mnemonic CC_FI
Description There shall be no duplicated files
Cloned Functions
Mnemonic CC_FN
Description There shall be no duplicated functions
Cloned Algorithmic
Mnemonic CFTC_FN
Description There shall be no algorithmic cloning
There shall be a no code before first case
Mnemonic NOCODEBEFORECASE
Description There shall be a no code before the first case of a switch statement.
Continue shall not be used
Mnemonic NOCONT
Description The 'continue' statement shall not be used (see [MISRA-C:2004]: RULE 14.5).
Fallthrough shall be avoided
Mnemonic NOFALLTHROUGH
Description There shall be no fallthrough the next case in a switch statement.
FIXME shall not be commited in sources code
Mnemonic R_NOFIXME
Description FIXME shall not be commited in sources code as it brings confusion regarding code reliability.
GOTO shall not be used
Mnemonic NOGOTO
Description A unconditional GOTO shall not be used to jump outside the paragraph.
Label out a switch
Mnemonic NOLABEL
Description A switch label shall only be used when the most closely-enclosing compound statement is the body of a switch statement (see [MISRA-C:2004]: RULE 15.1).
Avoid Duplicated Blocks in Function
Mnemonic RS_FN
Description There shall be no duplicated parts in functions
TODO shall not be commited in sources code
Mnemonic R_NOTODO
Description TODO shall not be commited in sources code as it brings confusion regarding code reliability.
Missing case in switch
Mnemonic ONECASE
Description Every switch statement shall have at least one case clause (see [MISRA-C:2004]: RULE 15.5).
Relaxed violation
Mnemonic RELAX
Description A rule violation is relaxed and justified.
Multiple exits are not allowed
Mnemonic RETURN
Description A function shall have a single point of exit at the end (see [MISRA-C:2004]: RULE 14.7).
Risky Empty Statement
Mnemonic RISKYEMPTY
Description Risky Empty Statement
Multiple break in loop are not allowed
Mnemonic SGLBRK
Description For any iteration statement there shall be at most one 'break' statement used for loop termination (see [MISRA-C:2004]: RULE 14.6).
Constant Data
Mnemonic ACST
Description Number of constant data
Internal Data
Mnemonic AINT
Description Number of internal data (only applicable to C#)
Number of Attributes
Mnemonic ANBR
Description Number of attributes
Number of data without accessibility
Mnemonic ANON
Description Number of data without accessibility
Andthen Operators
Mnemonic ANTH
Description Number of 'andthen' operators
Public Data
Mnemonic APBL
Description Number of public data
Protected Internal Data
Mnemonic APIN
Description Number of protected internal data (only applicable to C#)
Protected Data
Mnemonic APRT
Description Number of protected data
Private data
Mnemonic APRV
Description Number of private data
Assignment Operators
Mnemonic ASOP
Description Number of assignment operators used in the source file
Static Data
Mnemonic ASTA
Description Number of static data
Number of comment blocks
Mnemonic BCOM
Description Number of comment blocks.
Header Blocks Of Comment
Mnemonic BHCO
Description Number block of comment placed before the beginning of the artefact.
Blank Lines
Mnemonic BLAN
Description Number of blank lines of code in the source file(s).
Brace Lines
Mnemonic BRAC
Description Number of lines of code containing only a brace in the source file(s).
Break in Loop
Mnemonic BRKL
Description Number of 'break' statements in loop in the function
Break in Switch
Mnemonic BRKS
Description Number of 'break' statements in 'switch' in the function
Case Blocks
Mnemonic CABL
Description Number of 'case' blocks in 'switch' in the function
Case Labels
Mnemonic CASE
Description Number of 'case' labels in the function
Catch Statements
Mnemonic CATC
Description Number of 'catch' statements in the function
Cyclomatic Complexity
Mnemonic CCN
Description Number of linearly independent paths in the function control graph.
Control Flow Token
Mnemonic CFT
Description Number of tokens in the control flow of functions
Call Graph Depth
Mnemonic CGDM
Description Maximum depth of the call graph.
Comment Lines
Mnemonic CLOC
Description Number of lines of comments in the source file(s).
Continue Statements
Mnemonic CONT
Description Number of 'continue' statements in the function
Comparison Operators
Mnemonic CPOP
Description Number of comparison operators used in the source file
Commented Statements
Mnemonic CSTAT
Description Number of Commented Statements.
Minimum Number of Cycles
Mnemonic CYCL
Description Minimum number of call graph cycles in which the function is involved (including recursivity).
Depth of Descendant Tree
Mnemonic DDT
Description Maximun depth of the inheritance tree from the class
Default Statement
Mnemonic DEFT
Description Number of 'default' blocks in 'switch' in the function
Depth of Inheritance Tree
Mnemonic DIT
Description Maximun depth of the class inheritance tree
Distinct Operands
Mnemonic DOPD
Description Number of distinct operands: variables and constants ([Halstead,76]: n2)
Distinct Operators
Mnemonic DOPT
Description Number of distinct operators: language keywords ([Halstead,76]: n1)
Do While Statements
Mnemonic DOWH
Description Number of 'do...while' statements in the function
Else Statements
Mnemonic ELSE
Description Number of 'else' statements
For Statements
Mnemonic FOR
Description Number of 'for' statements in the function
Foreach Statements
Mnemonic FORE
Description Number of 'foreach' statements in the function
Structures Added
Mnemonic SADD
Description Number of control structures added since the previous version.
Structures Modified
Mnemonic SMOD
Description Number of control structures modified since the previous version.
Structures Removed
Mnemonic SREM
Description Number of control structures removed since the previous version.
Number of Structures
Mnemonic SSIZ
Description Number of control structures: iterations, selections, sequences
Goto Statements
Mnemonic GOTO
Description Number of 'goto' statements
Header Lines Of Comment
Mnemonic HCOM
Description Number of comment lines placed before the beginning of the artefact.
Header Lines Of Code
Mnemonic HLOC
Description Number of lines between the function or class definition and the first opening brace.
Cloned Code
Mnemonic ICC
Description Duplicated code in this artefact
Cloned Control Flow Tokens
Mnemonic ICFTC
Description Number of duplicated tokens in control flow of functions
If Statements
Mnemonic IF
Description Number of 'if' statements
Line Count
Mnemonic LC
Description Number of lines.
Loop Statements
Mnemonic LOOP
Description Number of loop statements in the function
Multiple Inheritance Indicator
Mnemonic MII
Description Number of classes from which the class inherits directly
Internal Methods
Mnemonic MINT
Description Number of internal methods (only applicable to C#)
Mixed Lines
Mnemonic MLOC
Description Number of lines containing both code and comment in the source files.
Methods without Accessibility
Mnemonic MNON
Description Number of methods without any accessibility specifier
Public Methods
Mnemonic MPBL
Description Number of public methods
Protected Internal Methods
Mnemonic MPIN
Description Number of protected internal methods(only applicable to C#)
Protected Methods
Mnemonic MPRT
Description Number of protected methods
Private Methods
Mnemonic MPRV
Description Number of private methods
Static Methods
Mnemonic MSTA
Description Number of static methods
Number of Ancestors
Mnemonic NAC
Description Number of classes from which the class inherits directly or indirectly
Number of Descendants
Mnemonic NDC
Description Number of classes which inherit from the class directly or indirectly
Maximum Nested Structures
Mnemonic NEST
Description Maximum number of nested structures
Number Of Children
Mnemonic NOC
Description Number of classes which inherit directly from the class
Number of Parameters
Mnemonic NOP
Description Number of formal parameters in the function
Non-Cyclic Paths
Mnemonic PATH
Description Number of non-cyclic paths in the function.
Orelse operators
Mnemonic OREL
Description Number of 'orelse' operators
Constant Properties
Mnemonic PCST
Description Number of constant properties
Properties with Get
Mnemonic PGET
Description Number of properties with a setter (only applicable to C#)
Internal Properties
Mnemonic PINT
Description Number of internal properties (only applicable to C#)
Properties
Mnemonic PNBR
Description Total number of properties
Properties without Accessibility
Mnemonic PNON
Description Number of properties without accessibility specifier
Public Properties
Mnemonic PPBL
Description Number of public properties
Protected Internal Properties
Mnemonic PPIN
Description Number of protected internal properties (only applicable to C#)
Protected Properties
Mnemonic PPRT
Description Number of protected properties
Private Properties
Mnemonic PPRV
Description Number of private properties
Properties with Set
Mnemonic PSET
Description Number of properties with a getter (only applicable to C#)
Static Properties
Mnemonic PSTA
Description Number of static properties in the class
Number of #DEFINE
Mnemonic P_DEFINE
Description Number of #DEFINE
Number of #ELIF
Mnemonic P_ELIF
Description Number of #ELIF
Number of #ELSE
Mnemonic P_ELSE
Description Number of #ELSE
Number of #ENDIF
Mnemonic P_ENDIF
Description Number of #ENDIF
Number of #ENDREGION
Mnemonic P_ENDREGION
Description Number of #ENDREGION
Number of #ERROR
Mnemonic P_ERROR
Description Number of #ERROR
Number of #IF
Mnemonic P_IF
Description Number of #IF
Number of #IFDEF
Mnemonic P_IFDEF
Description Number of #IFDEF
Number of #IFNDEF
Mnemonic P_IFNDEF
Description Number of #IFNDEF
Compiler FLAG Nested Level
Mnemonic P_NEST
Description Compiler FLAG Nested Level
Number of #PRAGMA
Mnemonic P_PRAGMA
Description Number of #PRAGMA
Number of #REGION
Mnemonic P_REGION
Description Number of #REGION
Number of #UNDEF
Mnemonic P_UNDEF
Description Number of #UNDEF
Number of #WARNING
Mnemonic P_WARNING
Description Number of #WARNING
Return Statements
Mnemonic RETURN
Description Number of 'return' statements in the function
Repeated Code Blocks
Mnemonic RS
Description Duplicated blocks in the function
Skipped Lines of Comment code
Mnemonic SKLC
Description Skipped Lines of Comment code i.e. lines that match a user defined regular expression to skip lines of comments.
Source Lines Of Code
Mnemonic SLOC
Description Number of lines of source code in the source file(s).
Special Operators
Mnemonic SPOP
Description Number of special operators used in the source file
Executable Statements
Mnemonic STAT
Description Total number of executable statements.
Switch Statements
Mnemonic SWIT
Description Number of 'switch' statements in the function
Ternary operators
Mnemonic TERN
Description Number of ternary operators i.e. ?:
Throw Statements
Mnemonic THRO
Description Number of 'throw' statements in the function
Operand Occurrences
Mnemonic TOPD
Description Number of occurrences of operands: variables and constants ([Halstead,76]: N2)
Operator Occurrences
Mnemonic TOPT
Description Number of occurrences of operators: language keywords ([Halstead,76]: N1)
Try Statements
Mnemonic TRY
Description Number of 'try' statements in the function
Lines Added
Mnemonic LADD
Description Number of lines added since the previous version.
Lines Modified
Mnemonic LMOD
Description Number of lines modified since the previous version.
Lines Removed
Mnemonic LREM
Description Number of lines removed since the previous version.
While Statements
Mnemonic WHIL
Description Number of 'while' statements in the function
Missing Break
Mnemonic BRKFINAL
Description An unconditional break statement shall terminate every non-empty switch clause (see [MISRA-C:2004]: RULE 15.2).
Backward Goto shall not be used
Mnemonic BWGOTO
Description Backward gotos shall not be used.
Missing compound statement
Mnemonic COMPOUND
Description The statement forming the body of a switch, while, do ... while or for statement shall be a compound statement (see [MISRA-C:2004]: RULE 14.8).
Missing compound if
Mnemonic COMPOUNDIF
Description An if (expression) construct shall be followed by a compound statement. The else keyword shall be followed by either a compound statement, or another if statement (see [MISRA-C:2004]: RULE 14.9).
Commented-out Source Code is not allowed
Mnemonic R_CSTAT
Description Commented-out Source Code is not allowed
Missing Default
Mnemonic DEFAULT
Description The final clause of a switch statement shall be the default clause (see [MISRA-C:2004]: RULE 15.3).
Missing final else
Mnemonic ELSEFINAL
Description All if ... else if constructs shall be terminated with an else clause (see [MISRA-C:2004]: RULE 14.10).
Assignment in Boolean
Mnemonic NOASGCOND
Description Assignment operators shall not be used in expressions that yield a boolean value
Assignment without Comparison
Mnemonic NOASGINBOOL
Description Assignment operators shall not be used in expressions that do not contain comparison operators.
Factorizable Classes
Mnemonic CAC_CL
Description Consider classes refactorization
Factorizable Files
Mnemonic CAC_FI
Description Consider files refactorization
Factorizable Functions
Mnemonic CAC_FN
Description Consider functions refactorization
Factorizable Packages
Mnemonic CAC_PKG
Description Consider packages refactorization
Cloned Classes
Mnemonic CC_CL
Description There shall be no duplicated classes
Cloned Files
Mnemonic CC_FI
Description There shall be no duplicated files
Cloned Functions
Mnemonic CC_FN
Description There shall be no duplicated functions
Cloned Algorithmic
Mnemonic CFTC_FN
Description There shall be no algorithmic cloning
There shall be a no code before first case
Mnemonic NOCODEBEFORECASE
Description There shall be a no code before the first case of a switch statement.
Continue shall not be used
Mnemonic NOCONT
Description The 'continue' statement shall not be used (see [MISRA-C:2004]: RULE 14.5).
Fallthrough shall be avoided
Mnemonic NOFALLTHROUGH
Description There shall be no fallthrough the next case in a switch statement.
FIXME shall not be commited in sources code
Mnemonic R_NOFIXME
Description FIXME shall not be commited in sources code as it brings confusion regarding code reliability.
GOTO shall not be used
Mnemonic NOGOTO
Description A unconditional GOTO shall not be used to jump outside the paragraph.
Label out a switch
Mnemonic NOLABEL
Description A switch label shall only be used when the most closely-enclosing compound statement is the body of a switch statement (see [MISRA-C:2004]: RULE 15.1).
Avoid Duplicated Blocks in Function
Mnemonic RS_FN
Description There shall be no duplicated parts in functions
TODO shall not be commited in sources code
Mnemonic R_NOTODO
Description TODO shall not be commited in sources code as it brings confusion regarding code reliability.
Missing case in switch
Mnemonic ONECASE
Description Every switch statement shall have at least one case clause (see [MISRA-C:2004]: RULE 15.5).
Relaxed violation
Mnemonic RELAX
Description A rule violation is relaxed and justified.
Multiple exits are not allowed
Mnemonic RETURN
Description A function shall have a single point of exit at the end (see [MISRA-C:2004]: RULE 14.7).
Risky Empty Statement
Mnemonic RISKYEMPTY
Description Risky Empty Statement
Multiple break in loop are not allowed
Mnemonic SGLBRK
Description For any iteration statement there shall be at most one 'break' statement used for loop termination (see [MISRA-C:2004]: RULE 14.6).
Andthen Operators
Mnemonic ANTH
Description Number of 'andthen' operators
Number of arithmetic if
Mnemonic ARIF
Description Count number of arithmetic if
Number of comment blocks
Mnemonic BCOM
Description Number of comment blocks.
Header Blocks Of Comment
Mnemonic BHCO
Description Number block of comment placed before the beginning of the artefact.
Blank Lines
Mnemonic BLAN
Description Number of blank lines of code in the source file(s).
Brace Lines
Mnemonic BRAC
Description Number of lines of code containing only a brace in the source file(s).
Break in Loop
Mnemonic BRKL
Description Number of 'break' statements in loop in the function
Case Blocks
Mnemonic CABL
Description Number of 'case' blocks in 'switch' in the function
Case Labels
Mnemonic CASE
Description Number of 'case' labels in the function
Cyclomatic Complexity
Mnemonic CCN
Description Number of linearly independent paths in the function control graph.
Control Flow Token
Mnemonic CFT
Description Number of tokens in the control flow of functions
Call Graph Depth
Mnemonic CGDM
Description Maximum depth of the call graph.
Comment Lines
Mnemonic CLOC
Description Number of lines of comments in the source file(s).
Continue Statements
Mnemonic CONT
Description Number of 'continue' statements in the function
Commented Statements
Mnemonic CSTAT
Description Number of Commented Statements.
Minimum Number of Cycles
Mnemonic CYCL
Description Minimum number of call graph cycles in which the function is involved (including recursivity).
Number of declarative statements
Mnemonic DECL
Description Count number of declarative statements
Default Statement
Mnemonic DEFT
Description Number of 'default' blocks in 'switch' in the function
Distinct Operands
Mnemonic DOPD
Description Number of distinct operands: variables and constants ([Halstead,76]: n2)
Distinct Operators
Mnemonic DOPT
Description Number of distinct operators: language keywords ([Halstead,76]: n1)
Do While Statements
Mnemonic DOWH
Description Number of 'do...while' statements in the function
Else Statements
Mnemonic ELSE
Description Number of 'else' statements
For Statements
Mnemonic FOR
Description Number of 'for' statements in the function
Structures Added
Mnemonic SADD
Description Number of control structures added since the previous version.
Structures Modified
Mnemonic SMOD
Description Number of control structures modified since the previous version.
Structures Removed
Mnemonic SREM
Description Number of control structures removed since the previous version.
Number of Structures
Mnemonic SSIZ
Description Number of control structures: iterations, selections, sequences
Goto Statements
Mnemonic GOTO
Description Number of 'goto' statements
Header Lines Of Comment
Mnemonic HCOM
Description Number of comment lines placed before the beginning of the artefact.
Header Lines Of Code
Mnemonic HLOC
Description Number of lines between the function or class definition and the first opening brace.
Cloned Code
Mnemonic ICC
Description Duplicated code in this artefact
Cloned Control Flow Tokens
Mnemonic ICFTC
Description Number of duplicated tokens in control flow of functions
If Statements
Mnemonic IF
Description Number of 'if' statements
Line Count
Mnemonic LC
Description Number of lines.
Loop Statements
Mnemonic LOOP
Description Number of loop statements in the function
Mixed Lines
Mnemonic MLOC
Description Number of lines containing both code and comment in the source files.
Maximum Nested Structures
Mnemonic NEST
Description Maximum number of nested structures
Non-Cyclic Paths
Mnemonic PATH
Description Number of non-cyclic paths in the function.
Orelse operators
Mnemonic OREL
Description Number of 'orelse' operators
% of parsed tokens
Mnemonic PARSE
Description Percent of parsed tokens
Return Statements
Mnemonic RETURN
Description Number of 'return' statements in the function
Repeated Code Blocks
Mnemonic RS
Description Duplicated blocks in the function
Skipped Lines of Comment code
Mnemonic SKLC
Description Skipped Lines of Comment code i.e. lines that match a user defined regular expression to skip lines of comments.
Source Lines Of Code
Mnemonic SLOC
Description Number of lines of source code in the source file(s).
Executable Statements
Mnemonic STAT
Description Total number of executable statements.
Switch Statements
Mnemonic SWIT
Description Number of 'switch' statements in the function
Operand Occurrences
Mnemonic TOPD
Description Number of occurrences of operands: variables and constants ([Halstead,76]: N2)
Operator Occurrences
Mnemonic TOPT
Description Number of occurrences of operators: language keywords ([Halstead,76]: N1)
Lines Added
Mnemonic LADD
Description Number of lines added since the previous version.
Lines Modified
Mnemonic LMOD
Description Number of lines modified since the previous version.
Lines Removed
Mnemonic LREM
Description Number of lines removed since the previous version.
Backward Goto shall not be used
Mnemonic BWGOTO
Description Backward gotos shall not be used.
Missing Default
Mnemonic DEFAULT
Description The final clause of a switch statement shall be the default clause (see [MISRA-C:2004]: RULE 15.3).
Use of continue is deprecated (Fortran)
Mnemonic NOCONTINUE
Description The 'continue' statement is deprecated.
Missing final else
Mnemonic ELSEFINAL
Description All if ... else if constructs shall be terminated with an else clause (see [MISRA-C:2004]: RULE 14.10).
Incorrect Function Name
Mnemonic NAMING_FUNCTION
Description Function name does not fit the convention.
Incorrect Module Name
Mnemonic NAMING_MODULE
Description Module name does not fit the convention.
Incorrect Program Name
Mnemonic NAMING_PROGRAM
Description Program name does not fit the convention.
Incorrect Subroutine Name
Mnemonic NAMING_SUBROUTINE
Description Subroutine name does not fit the convention.
Factorizable Classes
Mnemonic CAC_CL
Description Consider classes refactorization
Factorizable Files
Mnemonic CAC_FI
Description Consider files refactorization
Factorizable Functions
Mnemonic CAC_FN
Description Consider functions refactorization
Factorizable Packages
Mnemonic CAC_PKG
Description Consider packages refactorization
Cloned Classes
Mnemonic CC_CL
Description There shall be no duplicated classes
Cloned Files
Mnemonic CC_FI
Description There shall be no duplicated files
Cloned Functions
Mnemonic CC_FN
Description There shall be no duplicated functions
Cloned Algorithmic
Mnemonic CFTC_FN
Description There shall be no algorithmic cloning
Continue shall not be used
Mnemonic NOCONT
Description The 'continue' statement shall not be used (see [MISRA-C:2004]: RULE 14.5).
'cycle' shall not be used
Mnemonic NOCYCL
Description The 'cycle' statement shall not be used.
FIXME shall not be commited in sources code
Mnemonic R_NOFIXME
Description FIXME shall not be commited in sources code as it brings confusion regarding code reliability.
GOTO shall not be used
Mnemonic NOGOTO
Description A unconditional GOTO shall not be used to jump outside the paragraph.
Label out a switch
Mnemonic NOLABEL
Description A switch label shall only be used when the most closely-enclosing compound statement is the body of a switch statement (see [MISRA-C:2004]: RULE 15.1).
Avoid Duplicated Blocks in Function
Mnemonic RS_FN
Description There shall be no duplicated parts in functions
'stop' shall not be used
Mnemonic NOSTOP
Description The 'stop' statement shall not be used.
TODO shall not be commited in sources code
Mnemonic R_NOTODO
Description TODO shall not be commited in sources code as it brings confusion regarding code reliability.
Missing case in switch
Mnemonic ONECASE
Description Every switch statement shall have at least one case clause (see [MISRA-C:2004]: RULE 15.5).
Relaxed violation
Mnemonic RELAX
Description A rule violation is relaxed and justified.
Multiple exits are not allowed
Mnemonic RETURN
Description A function shall have a single point of exit at the end (see [MISRA-C:2004]: RULE 14.7).
Use of SAVE and DATA
Mnemonic SAVE_DATA_USE
Description A function must not use the SAVE and DATA statements.
Multiple exit
Mnemonic SGLEXIT
Description For any iteration statement there shall be at most one 'exit' statement used for loop termination.
Constant Data
Mnemonic ACST
Description Number of constant data
Number of Attributes
Mnemonic ANBR
Description Number of attributes
Number of data without accessibility
Mnemonic ANON
Description Number of data without accessibility
Andthen Operators
Mnemonic ANTH
Description Number of 'andthen' operators
Public Data
Mnemonic APBL
Description Number of public data
Protected Data
Mnemonic APRT
Description Number of protected data
Private data
Mnemonic APRV
Description Number of private data
Assignment Operators
Mnemonic ASOP
Description Number of assignment operators used in the source file
Static Data
Mnemonic ASTA
Description Number of static data
Number of comment blocks
Mnemonic BCOM
Description Number of comment blocks.
Header Blocks Of Comment
Mnemonic BHCO
Description Number block of comment placed before the beginning of the artefact.
Blank Lines
Mnemonic BLAN
Description Number of blank lines of code in the source file(s).
Brace Lines
Mnemonic BRAC
Description Number of lines of code containing only a brace in the source file(s).
Break in Loop
Mnemonic BRKL
Description Number of 'break' statements in loop in the function
Break in Switch
Mnemonic BRKS
Description Number of 'break' statements in 'switch' in the function
Case Blocks
Mnemonic CABL
Description Number of 'case' blocks in 'switch' in the function
Case Labels
Mnemonic CASE
Description Number of 'case' labels in the function
Catch Statements
Mnemonic CATC
Description Number of 'catch' statements in the function
Cyclomatic Complexity
Mnemonic CCN
Description Number of linearly independent paths in the function control graph.
Control Flow Token
Mnemonic CFT
Description Number of tokens in the control flow of functions
Call Graph Depth
Mnemonic CGDM
Description Maximum depth of the call graph.
Comment Lines
Mnemonic CLOC
Description Number of lines of comments in the source file(s).
Continue Statements
Mnemonic CONT
Description Number of 'continue' statements in the function
Comparison Operators
Mnemonic CPOP
Description Number of comparison operators used in the source file
Commented Statements
Mnemonic CSTAT
Description Number of Commented Statements.
Minimum Number of Cycles
Mnemonic CYCL
Description Minimum number of call graph cycles in which the function is involved (including recursivity).
Depth of Descendant Tree
Mnemonic DDT
Description Maximun depth of the inheritance tree from the class
Default Statement
Mnemonic DEFT
Description Number of 'default' blocks in 'switch' in the function
Depth of Inheritance Tree
Mnemonic DIT
Description Maximun depth of the class inheritance tree
Distinct Operands
Mnemonic DOPD
Description Number of distinct operands: variables and constants ([Halstead,76]: n2)
Distinct Operators
Mnemonic DOPT
Description Number of distinct operators: language keywords ([Halstead,76]: n1)
Do While Statements
Mnemonic DOWH
Description Number of 'do...while' statements in the function
Else Statements
Mnemonic ELSE
Description Number of 'else' statements
For Statements
Mnemonic FOR
Description Number of 'for' statements in the function
Structures Added
Mnemonic SADD
Description Number of control structures added since the previous version.
Structures Modified
Mnemonic SMOD
Description Number of control structures modified since the previous version.
Structures Removed
Mnemonic SREM
Description Number of control structures removed since the previous version.
Number of Structures
Mnemonic SSIZ
Description Number of control structures: iterations, selections, sequences
Header Lines Of Comment
Mnemonic HCOM
Description Number of comment lines placed before the beginning of the artefact.
Header Lines Of Code
Mnemonic HLOC
Description Number of lines between the function or class definition and the first opening brace.
Cloned Code
Mnemonic ICC
Description Duplicated code in this artefact
Cloned Control Flow Tokens
Mnemonic ICFTC
Description Number of duplicated tokens in control flow of functions
If Statements
Mnemonic IF
Description Number of 'if' statements
Line Count
Mnemonic LC
Description Number of lines.
Loop Statements
Mnemonic LOOP
Description Number of loop statements in the function
Multiple Inheritance Indicator
Mnemonic MII
Description Number of classes from which the class inherits directly
Mixed Lines
Mnemonic MLOC
Description Number of lines containing both code and comment in the source files.
Methods without Accessibility
Mnemonic MNON
Description Number of methods without any accessibility specifier
Public Methods
Mnemonic MPBL
Description Number of public methods
Protected Methods
Mnemonic MPRT
Description Number of protected methods
Private Methods
Mnemonic MPRV
Description Number of private methods
Static Methods
Mnemonic MSTA
Description Number of static methods
Number of Ancestors
Mnemonic NAC
Description Number of classes from which the class inherits directly or indirectly
Number of Descendants
Mnemonic NDC
Description Number of classes which inherit from the class directly or indirectly
Maximum Nested Structures
Mnemonic NEST
Description Maximum number of nested structures
Number Of Children
Mnemonic NOC
Description Number of classes which inherit directly from the class
Number of Parameters
Mnemonic NOP
Description Number of formal parameters in the function
Non-Cyclic Paths
Mnemonic PATH
Description Number of non-cyclic paths in the function.
Orelse operators
Mnemonic OREL
Description Number of 'orelse' operators
Return Statements
Mnemonic RETURN
Description Number of 'return' statements in the function
Repeated Code Blocks
Mnemonic RS
Description Duplicated blocks in the function
Skipped Lines of Comment code
Mnemonic SKLC
Description Skipped Lines of Comment code i.e. lines that match a user defined regular expression to skip lines of comments.
Source Lines Of Code
Mnemonic SLOC
Description Number of lines of source code in the source file(s).
Special Operators
Mnemonic SPOP
Description Number of special operators used in the source file
Executable Statements
Mnemonic STAT
Description Total number of executable statements.
Switch Statements
Mnemonic SWIT
Description Number of 'switch' statements in the function
Ternary operators
Mnemonic TERN
Description Number of ternary operators i.e. ?:
Throw Statements
Mnemonic THRO
Description Number of 'throw' statements in the function
Operand Occurrences
Mnemonic TOPD
Description Number of occurrences of operands: variables and constants ([Halstead,76]: N2)
Operator Occurrences
Mnemonic TOPT
Description Number of occurrences of operators: language keywords ([Halstead,76]: N1)
Try Statements
Mnemonic TRY
Description Number of 'try' statements in the function
Lines Added
Mnemonic LADD
Description Number of lines added since the previous version.
Lines Modified
Mnemonic LMOD
Description Number of lines modified since the previous version.
Lines Removed
Mnemonic LREM
Description Number of lines removed since the previous version.
While Statements
Mnemonic WHIL
Description Number of 'while' statements in the function
Missing Break
Mnemonic BRKFINAL
Description An unconditional break statement shall terminate every non-empty switch clause (see [MISRA-C:2004]: RULE 15.2).
Missing compound statement
Mnemonic COMPOUND
Description The statement forming the body of a switch, while, do ... while or for statement shall be a compound statement (see [MISRA-C:2004]: RULE 14.8).
Missing compound if
Mnemonic COMPOUNDIF
Description An if (expression) construct shall be followed by a compound statement. The else keyword shall be followed by either a compound statement, or another if statement (see [MISRA-C:2004]: RULE 14.9).
Commented-out Source Code is not allowed
Mnemonic R_CSTAT
Description Commented-out Source Code is not allowed
Missing Default
Mnemonic DEFAULT
Description The final clause of a switch statement shall be the default clause (see [MISRA-C:2004]: RULE 15.3).
Missing final else
Mnemonic ELSEFINAL
Description All if ... else if constructs shall be terminated with an else clause (see [MISRA-C:2004]: RULE 14.10).
Assignment in Boolean
Mnemonic NOASGCOND
Description Assignment operators shall not be used in expressions that yield a boolean value
Assignment without Comparison
Mnemonic NOASGINBOOL
Description Assignment operators shall not be used in expressions that do not contain comparison operators.
Factorizable Classes
Mnemonic CAC_CL
Description Consider classes refactorization
Factorizable Files
Mnemonic CAC_FI
Description Consider files refactorization
Factorizable Functions
Mnemonic CAC_FN
Description Consider functions refactorization
Factorizable Packages
Mnemonic CAC_PKG
Description Consider packages refactorization
Cloned Classes
Mnemonic CC_CL
Description There shall be no duplicated classes
Cloned Files
Mnemonic CC_FI
Description There shall be no duplicated files
Cloned Functions
Mnemonic CC_FN
Description There shall be no duplicated functions
Cloned Algorithmic
Mnemonic CFTC_FN
Description There shall be no algorithmic cloning
There shall be a no code before first case
Mnemonic NOCODEBEFORECASE
Description There shall be a no code before the first case of a switch statement.
Continue shall not be used
Mnemonic NOCONT
Description The 'continue' statement shall not be used (see [MISRA-C:2004]: RULE 14.5).
Fallthrough shall be avoided
Mnemonic NOFALLTHROUGH
Description There shall be no fallthrough the next case in a switch statement.
FIXME shall not be commited in sources code
Mnemonic R_NOFIXME
Description FIXME shall not be commited in sources code as it brings confusion regarding code reliability.
Avoid Duplicated Blocks in Function
Mnemonic RS_FN
Description There shall be no duplicated parts in functions
TODO shall not be commited in sources code
Mnemonic R_NOTODO
Description TODO shall not be commited in sources code as it brings confusion regarding code reliability.
Missing case in switch
Mnemonic ONECASE
Description Every switch statement shall have at least one case clause (see [MISRA-C:2004]: RULE 15.5).
Relaxed violation
Mnemonic RELAX
Description A rule violation is relaxed and justified.
Multiple exits are not allowed
Mnemonic RETURN
Description A function shall have a single point of exit at the end (see [MISRA-C:2004]: RULE 14.7).
Risky Empty Statement
Mnemonic RISKYEMPTY
Description Risky Empty Statement
Multiple break in loop are not allowed
Mnemonic SGLBRK
Description For any iteration statement there shall be at most one 'break' statement used for loop termination (see [MISRA-C:2004]: RULE 14.6).
Andthen Operators
Mnemonic ANTH
Description Number of 'andthen' operators
Number of comment blocks
Mnemonic BCOM
Description Number of comment blocks.
Header Blocks Of Comment
Mnemonic BHCO
Description Number block of comment placed before the beginning of the artefact.
Blank Lines
Mnemonic BLAN
Description Number of blank lines of code in the source file(s).
Brace Lines
Mnemonic BRAC
Description Number of lines of code containing only a brace in the source file(s).
Break in Loop
Mnemonic BRKL
Description Number of 'break' statements in loop in the function
Break in Switch
Mnemonic BRKS
Description Number of 'break' statements in 'switch' in the function
Case Blocks
Mnemonic CABL
Description Number of 'case' blocks in 'switch' in the function
Case Labels
Mnemonic CASE
Description Number of 'case' labels in the function
Catch Statements
Mnemonic CATC
Description Number of 'catch' statements in the function
Cyclomatic Complexity
Mnemonic CCN
Description Number of linearly independent paths in the function control graph.
Control Flow Token
Mnemonic CFT
Description Number of tokens in the control flow of functions
Call Graph Depth
Mnemonic CGDM
Description Maximum depth of the call graph.
Comment Lines
Mnemonic CLOC
Description Number of lines of comments in the source file(s).
Continue Statements
Mnemonic CONT
Description Number of 'continue' statements in the function
Commented Statements
Mnemonic CSTAT
Description Number of Commented Statements.
Minimum Number of Cycles
Mnemonic CYCL
Description Minimum number of call graph cycles in which the function is involved (including recursivity).
Default Statement
Mnemonic DEFT
Description Number of 'default' blocks in 'switch' in the function
Distinct Operands
Mnemonic DOPD
Description Number of distinct operands: variables and constants ([Halstead,76]: n2)
Distinct Operators
Mnemonic DOPT
Description Number of distinct operators: language keywords ([Halstead,76]: n1)
Do While Statements
Mnemonic DOWH
Description Number of 'do...while' statements in the function
Else Statements
Mnemonic ELSE
Description Number of 'else' statements
Max Nested Functions
Mnemonic FNST
Description Max Nested Functions
For Statements
Mnemonic FOR
Description Number of 'for' statements in the function
Structures Added
Mnemonic SADD
Description Number of control structures added since the previous version.
Structures Modified
Mnemonic SMOD
Description Number of control structures modified since the previous version.
Structures Removed
Mnemonic SREM
Description Number of control structures removed since the previous version.
Number of Structures
Mnemonic SSIZ
Description Number of control structures: iterations, selections, sequences
Header Lines Of Comment
Mnemonic HCOM
Description Number of comment lines placed before the beginning of the artefact.
Header Lines Of Code
Mnemonic HLOC
Description Number of lines between the function or class definition and the first opening brace.
Cloned Code
Mnemonic ICC
Description Duplicated code in this artefact
Cloned Control Flow Tokens
Mnemonic ICFTC
Description Number of duplicated tokens in control flow of functions
If Statements
Mnemonic IF
Description Number of 'if' statements
Line Count
Mnemonic LC
Description Number of lines.
Loop Statements
Mnemonic LOOP
Description Number of loop statements in the function
Mixed Lines
Mnemonic MLOC
Description Number of lines containing both code and comment in the source files.
Maximum Nested Structures
Mnemonic NEST
Description Maximum number of nested structures
Number of Parameters
Mnemonic NOP
Description Number of formal parameters in the function
Non-Cyclic Paths
Mnemonic PATH
Description Number of non-cyclic paths in the function.
Orelse operators
Mnemonic OREL
Description Number of 'orelse' operators
Return Statements
Mnemonic RETURN
Description Number of 'return' statements in the function
Repeated Code Blocks
Mnemonic RS
Description Duplicated blocks in the function
Skipped Lines of Comment code
Mnemonic SKLC
Description Skipped Lines of Comment code i.e. lines that match a user defined regular expression to skip lines of comments.
Source Lines Of Code
Mnemonic SLOC
Description Number of lines of source code in the source file(s).
Executable Statements
Mnemonic STAT
Description Total number of executable statements.
Switch Statements
Mnemonic SWIT
Description Number of 'switch' statements in the function
Ternary operators
Mnemonic TERN
Description Number of ternary operators i.e. ?:
Throw Statements
Mnemonic THRO
Description Number of 'throw' statements in the function
Operand Occurrences
Mnemonic TOPD
Description Number of occurrences of operands: variables and constants ([Halstead,76]: N2)
Operator Occurrences
Mnemonic TOPT
Description Number of occurrences of operators: language keywords ([Halstead,76]: N1)
Try Statements
Mnemonic TRY
Description Number of 'try' statements in the function
Lines Added
Mnemonic LADD
Description Number of lines added since the previous version.
Lines Modified
Mnemonic LMOD
Description Number of lines modified since the previous version.
Lines Removed
Mnemonic LREM
Description Number of lines removed since the previous version.
While Statements
Mnemonic WHIL
Description Number of 'while' statements in the function
Missing Break
Mnemonic BRKFINAL
Description An unconditional break statement shall terminate every non-empty switch clause (see [MISRA-C:2004]: RULE 15.2).
Missing compound statement
Mnemonic COMPOUND
Description The statement forming the body of a switch, while, do ... while or for statement shall be a compound statement (see [MISRA-C:2004]: RULE 14.8).
Missing compound if
Mnemonic COMPOUNDIF
Description An if (expression) construct shall be followed by a compound statement. The else keyword shall be followed by either a compound statement, or another if statement (see [MISRA-C:2004]: RULE 14.9).
Commented-out Source Code is not allowed
Mnemonic R_CSTAT
Description Commented-out Source Code is not allowed
Missing Default
Mnemonic DEFAULT
Description The final clause of a switch statement shall be the default clause (see [MISRA-C:2004]: RULE 15.3).
Missing final else
Mnemonic ELSEFINAL
Description All if ... else if constructs shall be terminated with an else clause (see [MISRA-C:2004]: RULE 14.10).
Assignment in Boolean
Mnemonic NOASGCOND
Description Assignment operators shall not be used in expressions that yield a boolean value
Assignment without Comparison
Mnemonic NOASGINBOOL
Description Assignment operators shall not be used in expressions that do not contain comparison operators.
Factorizable Classes
Mnemonic CAC_CL
Description Consider classes refactorization
Factorizable Files
Mnemonic CAC_FI
Description Consider files refactorization
Factorizable Functions
Mnemonic CAC_FN
Description Consider functions refactorization
Factorizable Packages
Mnemonic CAC_PKG
Description Consider packages refactorization
Cloned Classes
Mnemonic CC_CL
Description There shall be no duplicated classes
Cloned Files
Mnemonic CC_FI
Description There shall be no duplicated files
Cloned Functions
Mnemonic CC_FN
Description There shall be no duplicated functions
Cloned Algorithmic
Mnemonic CFTC_FN
Description There shall be no algorithmic cloning
There shall be a no code before first case
Mnemonic NOCODEBEFORECASE
Description There shall be a no code before the first case of a switch statement.
Continue shall not be used
Mnemonic NOCONT
Description The 'continue' statement shall not be used (see [MISRA-C:2004]: RULE 14.5).
Fallthrough shall be avoided
Mnemonic NOFALLTHROUGH
Description There shall be no fallthrough the next case in a switch statement.
FIXME shall not be commited in sources code
Mnemonic R_NOFIXME
Description FIXME shall not be commited in sources code as it brings confusion regarding code reliability.
Label out a switch
Mnemonic NOLABEL
Description A switch label shall only be used when the most closely-enclosing compound statement is the body of a switch statement (see [MISRA-C:2004]: RULE 15.1).
Avoid Duplicated Blocks in Function
Mnemonic RS_FN
Description There shall be no duplicated parts in functions
TODO shall not be commited in sources code
Mnemonic R_NOTODO
Description TODO shall not be commited in sources code as it brings confusion regarding code reliability.
Missing case in switch
Mnemonic ONECASE
Description Every switch statement shall have at least one case clause (see [MISRA-C:2004]: RULE 15.5).
Relaxed violation
Mnemonic RELAX
Description A rule violation is relaxed and justified.
Multiple exits are not allowed
Mnemonic RETURN
Description A function shall have a single point of exit at the end (see [MISRA-C:2004]: RULE 14.7).
Risky Empty Statement
Mnemonic RISKYEMPTY
Description Risky Empty Statement
Multiple break in loop are not allowed
Mnemonic SGLBRK
Description For any iteration statement there shall be at most one 'break' statement used for loop termination (see [MISRA-C:2004]: RULE 14.6).
Andthen Operators
Mnemonic ANTH
Description Number of 'andthen' operators
Assignment Operators
Mnemonic ASOP
Description Number of assignment operators used in the source file
Number of comment blocks
Mnemonic BCOM
Description Number of comment blocks.
Header Blocks Of Comment
Mnemonic BHCO
Description Number block of comment placed before the beginning of the artefact.
Blank Lines
Mnemonic BLAN
Description Number of blank lines of code in the source file(s).
Brace Lines
Mnemonic BRAC
Description Number of lines of code containing only a brace in the source file(s).
Break in Loop
Mnemonic BRKL
Description Number of 'break' statements in loop in the function
Break in Switch
Mnemonic BRKS
Description Number of 'break' statements in 'switch' in the function
Case Blocks
Mnemonic CABL
Description Number of 'case' blocks in 'switch' in the function
Calls To
Mnemonic CAL2
Description Number of explicit calls to the function.
Called Functions
Mnemonic CALD
Description Number of distinct functions defined in the project source file and called by the function.
Calls From
Mnemonic CALF
Description Number of explicit calls from the function.
Calling Functions
Mnemonic CALI
Description Number of distinct functions calling the function.
Called External Functions
Mnemonic CALX
Description Number of distinct external functions called by the function - external i.e. not defined in the project
Case Labels
Mnemonic CASE
Description Number of 'case' labels in the function
Cyclomatic Complexity
Mnemonic CCN
Description Number of linearly independent paths in the function control graph.
Recursive Calls
Mnemonic CDRI
Description Number of directly recursive calls in the function.
Control Flow Token
Mnemonic CFT
Description Number of tokens in the control flow of functions
Called Depth
Mnemonic CGDD
Description Maximum depth of called functions.
Calling Depth
Mnemonic CGDI
Description Maximum depth of calling functions.
Call Graph Depth
Mnemonic CGDM
Description Maximum depth of the call graph.
Minimum Number of Indirect Cycles
Mnemonic CIRI
Description Minimum number of indirect call graph cycles in which the function is involved (excluding recursive calls).
Comment Lines
Mnemonic CLOC
Description Number of lines of comments in the source file(s).
Continue Statements
Mnemonic CONT
Description Number of 'continue' statements in the function
Comparison Operators
Mnemonic CPOP
Description Number of comparison operators used in the source file
Commented Statements
Mnemonic CSTAT
Description Number of Commented Statements.
Minimum Number of Cycles
Mnemonic CYCL
Description Minimum number of call graph cycles in which the function is involved (including recursivity).
Default Statement
Mnemonic DEFT
Description Number of 'default' blocks in 'switch' in the function
Distinct Operands
Mnemonic DOPD
Description Number of distinct operands: variables and constants ([Halstead,76]: n2)
Distinct Operators
Mnemonic DOPT
Description Number of distinct operators: language keywords ([Halstead,76]: n1)
Do While Statements
Mnemonic DOWH
Description Number of 'do...while' statements in the function
Else Statements
Mnemonic ELSE
Description Number of 'else' statements
For Statements
Mnemonic FOR
Description Number of 'for' statements in the function
Structures Added
Mnemonic SADD
Description Number of control structures added since the previous version.
Structures Modified
Mnemonic SMOD
Description Number of control structures modified since the previous version.
Structures Removed
Mnemonic SREM
Description Number of control structures removed since the previous version.
Number of Structures
Mnemonic SSIZ
Description Number of control structures: iterations, selections, sequences
Goto Statements
Mnemonic GOTO
Description Number of 'goto' statements
Header Lines Of Comment
Mnemonic HCOM
Description Number of comment lines placed before the beginning of the artefact.
Header Lines Of Code
Mnemonic HLOC
Description Number of lines between the function or class definition and the first opening brace.
Cloned Code
Mnemonic ICC
Description Duplicated code in this artefact
Cloned Control Flow Tokens
Mnemonic ICFTC
Description Number of duplicated tokens in control flow of functions
If Statements
Mnemonic IF
Description Number of 'if' statements
Line Count
Mnemonic LC
Description Number of lines.
Use of longjump
Mnemonic LONGJMP
Description Use of longjump
Loop Statements
Mnemonic LOOP
Description Number of loop statements in the function
Memory Allocation
Mnemonic MEMALLOC
Description Memory Allocation
Memory Freeing
Mnemonic MEMFREE
Description Memory Freeing
Mixed Lines
Mnemonic MLOC
Description Number of lines containing both code and comment in the source files.
Maximum Nested Structures
Mnemonic NEST
Description Maximum number of nested structures
Number of Parameters
Mnemonic NOP
Description Number of formal parameters in the function
Non-Cyclic Paths
Mnemonic PATH
Description Number of non-cyclic paths in the function.
Use of offsetof
Mnemonic OFFSETOF
Description Use of offsetof
Orelse operators
Mnemonic OREL
Description Number of 'orelse' operators
Number of #DEFINE
Mnemonic P_DEFINE
Description Number of #DEFINE
Number of #ELIF
Mnemonic P_ELIF
Description Number of #ELIF
Number of #ELSE
Mnemonic P_ELSE
Description Number of #ELSE
Number of #ENDIF
Mnemonic P_ENDIF
Description Number of #ENDIF
Number of #ERROR
Mnemonic P_ERROR
Description Number of #ERROR
Number of #IF
Mnemonic P_IF
Description Number of #IF
Number of #IFDEF
Mnemonic P_IFDEF
Description Number of #IFDEF
Number of #IFNDEF
Mnemonic P_IFNDEF
Description Number of #IFNDEF
Number of Include
Mnemonic P_INCLUDE
Description Number of Include
Compiler FLAG Nested Level
Mnemonic P_NEST
Description Compiler FLAG Nested Level
Number of #PRAGMA
Mnemonic P_PRAGMA
Description Number of #PRAGMA
Number of #UNDEF
Mnemonic P_UNDEF
Description Number of #UNDEF
Number of #WARNING
Mnemonic P_WARNING
Description Number of #WARNING
Return Statements
Mnemonic RETURN
Description Number of 'return' statements in the function
Repeated Code Blocks
Mnemonic RS
Description Duplicated blocks in the function
Use of setjump
Mnemonic SETJMP
Description Use of setjump
Signal Functions
Mnemonic SIGNAL
Description Use of signal Functions
Skipped Lines of Comment code
Mnemonic SKLC
Description Skipped Lines of Comment code i.e. lines that match a user defined regular expression to skip lines of comments.
Source Lines Of Code
Mnemonic SLOC
Description Number of lines of source code in the source file(s).
Special Operators
Mnemonic SPOP
Description Number of special operators used in the source file
Executable Statements
Mnemonic STAT
Description Total number of executable statements.
IO Functions
Mnemonic STDIO
Description Use IO Functions
String Conversions
Mnemonic STRINGCONV
Description Use of String Conversions
Switch Statements
Mnemonic SWIT
Description Number of 'switch' statements in the function
System Functions
Mnemonic SYSCOM
Description Use of system Functions
Ternary operators
Mnemonic TERN
Description Number of ternary operators i.e. ?:
Time Handling
Mnemonic TIMEHDL
Description Use of Time Handling
Operand Occurrences
Mnemonic TOPD
Description Number of occurrences of operands: variables and constants ([Halstead,76]: N2)
Operator Occurrences
Mnemonic TOPT
Description Number of occurrences of operators: language keywords ([Halstead,76]: N1)
Lines Added
Mnemonic LADD
Description Number of lines added since the previous version.
Lines Modified
Mnemonic LMOD
Description Number of lines modified since the previous version.
Lines Removed
Mnemonic LREM
Description Number of lines removed since the previous version.
While Statements
Mnemonic WHIL
Description Number of 'while' statements in the function
Missing Break
Mnemonic BRKFINAL
Description An unconditional break statement shall terminate every non-empty switch clause (see [MISRA-C:2004]: RULE 15.2).
Backward Goto shall not be used
Mnemonic BWGOTO
Description Backward gotos shall not be used.
Missing compound statement
Mnemonic COMPOUND
Description The statement forming the body of a switch, while, do ... while or for statement shall be a compound statement (see [MISRA-C:2004]: RULE 14.8).
Missing compound if
Mnemonic COMPOUNDIF
Description An if (expression) construct shall be followed by a compound statement. The else keyword shall be followed by either a compound statement, or another if statement (see [MISRA-C:2004]: RULE 14.9).
Commented-out Source Code is not allowed
Mnemonic R_CSTAT
Description Commented-out Source Code is not allowed
Missing Default
Mnemonic DEFAULT
Description The final clause of a switch statement shall be the default clause (see [MISRA-C:2004]: RULE 15.3).
Dynamic Memory Allocation shall not be used
Mnemonic DYNMEMALLOC
Description Dynamic heap memory allocation shall not used. This precludes the use of the functions calloc, malloc, realloc and free (see [MISRA-C:2004]: RULE 20.4)
Missing final else
Mnemonic ELSEFINAL
Description All if ... else if constructs shall be terminated with an else clause (see [MISRA-C:2004]: RULE 14.10).
Macro longjmp or setjmp shall not be used
Mnemonic JUMP
Description (The setjmp macro and the longjmp function shall not be used (see [MISRA-C:2004]: RULE 20.7).
Nesting Level of Preprocessing directives is too high
Mnemonic R_MAXPNEST
Description Nesting Level of Preprocessing directives is too high
Assignment in Boolean
Mnemonic NOASGCOND
Description Assignment operators shall not be used in expressions that yield a boolean value
Assignment without Comparison
Mnemonic NOASGINBOOL
Description Assignment operators shall not be used in expressions that do not contain comparison operators.
Factorizable Classes
Mnemonic CAC_CL
Description Consider classes refactorization
Factorizable Files
Mnemonic CAC_FI
Description Consider files refactorization
Factorizable Functions
Mnemonic CAC_FN
Description Consider functions refactorization
Factorizable Packages
Mnemonic CAC_PKG
Description Consider packages refactorization
Cloned Classes
Mnemonic CC_CL
Description There shall be no duplicated classes
Cloned Files
Mnemonic CC_FI
Description There shall be no duplicated files
Cloned Functions
Mnemonic CC_FN
Description There shall be no duplicated functions
Cloned Algorithmic
Mnemonic CFTC_FN
Description There shall be no algorithmic cloning
There shall be a no code before first case
Mnemonic NOCODEBEFORECASE
Description There shall be a no code before the first case of a switch statement.
Continue shall not be used
Mnemonic NOCONT
Description The 'continue' statement shall not be used (see [MISRA-C:2004]: RULE 14.5).
Fallthrough shall be avoided
Mnemonic NOFALLTHROUGH
Description There shall be no fallthrough the next case in a switch statement.
FIXME shall not be commited in sources code
Mnemonic R_NOFIXME
Description FIXME shall not be commited in sources code as it brings confusion regarding code reliability.
GOTO shall not be used
Mnemonic NOGOTO
Description A unconditional GOTO shall not be used to jump outside the paragraph.
Label out a switch
Mnemonic NOLABEL
Description A switch label shall only be used when the most closely-enclosing compound statement is the body of a switch statement (see [MISRA-C:2004]: RULE 15.1).
Recursion are not allowed
Mnemonic NORECURSION
Description Functions shall not called themselves either directly or indirectly (see [MISRA-C:2004]: RULE 16.2).
Avoid Duplicated Blocks in Function
Mnemonic RS_FN
Description There shall be no duplicated parts in functions
TODO shall not be commited in sources code
Mnemonic R_NOTODO
Description TODO shall not be commited in sources code as it brings confusion regarding code reliability.
Macro offsetof shall not be used
Mnemonic OFFSETOF
Description The macro offsetof, in library <stddef.h>, shall not be used (see [MISRA-C:2004]: RULE 20.6).
Missing case in switch
Mnemonic ONECASE
Description Every switch statement shall have at least one case clause (see [MISRA-C:2004]: RULE 15.5).
Relaxed violation
Mnemonic RELAX
Description A rule violation is relaxed and justified.
Multiple exits are not allowed
Mnemonic RETURN
Description A function shall have a single point of exit at the end (see [MISRA-C:2004]: RULE 14.7).
Risky Empty Statement
Mnemonic RISKYEMPTY
Description Risky Empty Statement
Multiple break in loop are not allowed
Mnemonic SGLBRK
Description For any iteration statement there shall be at most one 'break' statement used for loop termination (see [MISRA-C:2004]: RULE 14.6).
Signal or Raise shall not be used
Mnemonic SIGNAL
Description The signal handling facilities of <signal.h> shall not be used (see [MISRA-C:2004]: RULE 20.8).
IO Functions shall not be used
Mnemonic STDIO
Description The input/output library <stdio.h> shall not be used in production code (see [MISRA-C:2004]: RULE 20.9).
'atof, atoi or atol' shall not be used
Mnemonic STRINGCONV
Description The library functions atof, atoi and atol from library <stdlib.h> shall not be used (see [MISRA-C:2004]: RULE 20.10).
'abort, exit, getenv or system' shall not be used
Mnemonic SYSCOM
Description The library functions abort, exit, getenv and system from library <stdlib.h> shall not be used (see [MISRA-C:2004]: RULE 20.11).
Time Handling Functions shall not be used
Mnemonic TIMEHDL
Description The time handling functions of library <time.h> shall not be used: time, strftime, clock, difftime, mktime (see [MISRA-C:2004]: RULE 20.12).
Constant Data
Mnemonic ACST
Description Number of constant data
Number of Attributes
Mnemonic ANBR
Description Number of attributes
Number of data without accessibility
Mnemonic ANON
Description Number of data without accessibility
Andthen Operators
Mnemonic ANTH
Description Number of 'andthen' operators
Public Data
Mnemonic APBL
Description Number of public data
Protected Data
Mnemonic APRT
Description Number of protected data
Private data
Mnemonic APRV
Description Number of private data
Assignment Operators
Mnemonic ASOP
Description Number of assignment operators used in the source file
Static Data
Mnemonic ASTA
Description Number of static data
Number of comment blocks
Mnemonic BCOM
Description Number of comment blocks.
Header Blocks Of Comment
Mnemonic BHCO
Description Number block of comment placed before the beginning of the artefact.
Blank Lines
Mnemonic BLAN
Description Number of blank lines of code in the source file(s).
Brace Lines
Mnemonic BRAC
Description Number of lines of code containing only a brace in the source file(s).
Break in Loop
Mnemonic BRKL
Description Number of 'break' statements in loop in the function
Break in Switch
Mnemonic BRKS
Description Number of 'break' statements in 'switch' in the function
Case Blocks
Mnemonic CABL
Description Number of 'case' blocks in 'switch' in the function
Case Labels
Mnemonic CASE
Description Number of 'case' labels in the function
Catch Statements
Mnemonic CATC
Description Number of 'catch' statements in the function
Cyclomatic Complexity
Mnemonic CCN
Description Number of linearly independent paths in the function control graph.
Control Flow Token
Mnemonic CFT
Description Number of tokens in the control flow of functions
Call Graph Depth
Mnemonic CGDM
Description Maximum depth of the call graph.
Comment Lines
Mnemonic CLOC
Description Number of lines of comments in the source file(s).
Continue Statements
Mnemonic CONT
Description Number of 'continue' statements in the function
Comparison Operators
Mnemonic CPOP
Description Number of comparison operators used in the source file
Commented Statements
Mnemonic CSTAT
Description Number of Commented Statements.
Minimum Number of Cycles
Mnemonic CYCL
Description Minimum number of call graph cycles in which the function is involved (including recursivity).
Depth of Descendant Tree
Mnemonic DDT
Description Maximun depth of the inheritance tree from the class
Default Statement
Mnemonic DEFT
Description Number of 'default' blocks in 'switch' in the function
Depth of Inheritance Tree
Mnemonic DIT
Description Maximun depth of the class inheritance tree
Distinct Operands
Mnemonic DOPD
Description Number of distinct operands: variables and constants ([Halstead,76]: n2)
Distinct Operators
Mnemonic DOPT
Description Number of distinct operators: language keywords ([Halstead,76]: n1)
Do While Statements
Mnemonic DOWH
Description Number of 'do...while' statements in the function
Else Statements
Mnemonic ELSE
Description Number of 'else' statements
For Statements
Mnemonic FOR
Description Number of 'for' statements in the function
Structures Added
Mnemonic SADD
Description Number of control structures added since the previous version.
Structures Modified
Mnemonic SMOD
Description Number of control structures modified since the previous version.
Structures Removed
Mnemonic SREM
Description Number of control structures removed since the previous version.
Number of Structures
Mnemonic SSIZ
Description Number of control structures: iterations, selections, sequences
Goto Statements
Mnemonic GOTO
Description Number of 'goto' statements
Header Lines Of Comment
Mnemonic HCOM
Description Number of comment lines placed before the beginning of the artefact.
Header Lines Of Code
Mnemonic HLOC
Description Number of lines between the function or class definition and the first opening brace.
Cloned Code
Mnemonic ICC
Description Duplicated code in this artefact
Cloned Control Flow Tokens
Mnemonic ICFTC
Description Number of duplicated tokens in control flow of functions
If Statements
Mnemonic IF
Description Number of 'if' statements
Line Count
Mnemonic LC
Description Number of lines.
Loop Statements
Mnemonic LOOP
Description Number of loop statements in the function
Multiple Inheritance Indicator
Mnemonic MII
Description Number of classes from which the class inherits directly
Mixed Lines
Mnemonic MLOC
Description Number of lines containing both code and comment in the source files.
Methods without Accessibility
Mnemonic MNON
Description Number of methods without any accessibility specifier
Public Methods
Mnemonic MPBL
Description Number of public methods
Protected Methods
Mnemonic MPRT
Description Number of protected methods
Private Methods
Mnemonic MPRV
Description Number of private methods
Static Methods
Mnemonic MSTA
Description Number of static methods
Number of Ancestors
Mnemonic NAC
Description Number of classes from which the class inherits directly or indirectly
Number of Descendants
Mnemonic NDC
Description Number of classes which inherit from the class directly or indirectly
Maximum Nested Structures
Mnemonic NEST
Description Maximum number of nested structures
Number Of Children
Mnemonic NOC
Description Number of classes which inherit directly from the class
Number of Parameters
Mnemonic NOP
Description Number of formal parameters in the function
Non-Cyclic Paths
Mnemonic PATH
Description Number of non-cyclic paths in the function.
Orelse operators
Mnemonic OREL
Description Number of 'orelse' operators
Properties
Mnemonic PNBR
Description Total number of properties
Number of #DEFINE
Mnemonic P_DEFINE
Description Number of #DEFINE
Number of #ELIF
Mnemonic P_ELIF
Description Number of #ELIF
Number of #ELSE
Mnemonic P_ELSE
Description Number of #ELSE
Number of #ENDIF
Mnemonic P_ENDIF
Description Number of #ENDIF
Number of #ERROR
Mnemonic P_ERROR
Description Number of #ERROR
Number of #IF
Mnemonic P_IF
Description Number of #IF
Number of #IFDEF
Mnemonic P_IFDEF
Description Number of #IFDEF
Number of #IFNDEF
Mnemonic P_IFNDEF
Description Number of #IFNDEF
Number of Include
Mnemonic P_INCLUDE
Description Number of Include
Compiler FLAG Nested Level
Mnemonic P_NEST
Description Compiler FLAG Nested Level
Number of #PRAGMA
Mnemonic P_PRAGMA
Description Number of #PRAGMA
Number of #UNDEF
Mnemonic P_UNDEF
Description Number of #UNDEF
Number of #WARNING
Mnemonic P_WARNING
Description Number of #WARNING
Return Statements
Mnemonic RETURN
Description Number of 'return' statements in the function
Repeated Code Blocks
Mnemonic RS
Description Duplicated blocks in the function
Skipped Lines of Comment code
Mnemonic SKLC
Description Skipped Lines of Comment code i.e. lines that match a user defined regular expression to skip lines of comments.
Source Lines Of Code
Mnemonic SLOC
Description Number of lines of source code in the source file(s).
Special Operators
Mnemonic SPOP
Description Number of special operators used in the source file
Executable Statements
Mnemonic STAT
Description Total number of executable statements.
Switch Statements
Mnemonic SWIT
Description Number of 'switch' statements in the function
Ternary operators
Mnemonic TERN
Description Number of ternary operators i.e. ?:
Throw Statements
Mnemonic THRO
Description Number of 'throw' statements in the function
Operand Occurrences
Mnemonic TOPD
Description Number of occurrences of operands: variables and constants ([Halstead,76]: N2)
Operator Occurrences
Mnemonic TOPT
Description Number of occurrences of operators: language keywords ([Halstead,76]: N1)
Try Statements
Mnemonic TRY
Description Number of 'try' statements in the function
Lines Added
Mnemonic LADD
Description Number of lines added since the previous version.
Lines Modified
Mnemonic LMOD
Description Number of lines modified since the previous version.
Lines Removed
Mnemonic LREM
Description Number of lines removed since the previous version.
While Statements
Mnemonic WHIL
Description Number of 'while' statements in the function
Weighted Method per Class
Mnemonic XWMC
Description Sum of cyclomatic complexities of methods implemented outside the class definition
Missing Break
Mnemonic BRKFINAL
Description An unconditional break statement shall terminate every non-empty switch clause (see [MISRA-C:2004]: RULE 15.2).
Backward Goto shall not be used
Mnemonic BWGOTO
Description Backward gotos shall not be used.
Missing compound statement
Mnemonic COMPOUND
Description The statement forming the body of a switch, while, do ... while or for statement shall be a compound statement (see [MISRA-C:2004]: RULE 14.8).
Missing compound if
Mnemonic COMPOUNDIF
Description An if (expression) construct shall be followed by a compound statement. The else keyword shall be followed by either a compound statement, or another if statement (see [MISRA-C:2004]: RULE 14.9).
Commented-out Source Code is not allowed
Mnemonic R_CSTAT
Description Commented-out Source Code is not allowed
Missing Default
Mnemonic DEFAULT
Description The final clause of a switch statement shall be the default clause (see [MISRA-C:2004]: RULE 15.3).
Missing final else
Mnemonic ELSEFINAL
Description All if ... else if constructs shall be terminated with an else clause (see [MISRA-C:2004]: RULE 14.10).
Assignment in Boolean
Mnemonic NOASGCOND
Description Assignment operators shall not be used in expressions that yield a boolean value
Assignment without Comparison
Mnemonic NOASGINBOOL
Description Assignment operators shall not be used in expressions that do not contain comparison operators.
Factorizable Classes
Mnemonic CAC_CL
Description Consider classes refactorization
Factorizable Files
Mnemonic CAC_FI
Description Consider files refactorization
Factorizable Functions
Mnemonic CAC_FN
Description Consider functions refactorization
Factorizable Packages
Mnemonic CAC_PKG
Description Consider packages refactorization
Cloned Classes
Mnemonic CC_CL
Description There shall be no duplicated classes
Cloned Files
Mnemonic CC_FI
Description There shall be no duplicated files
Cloned Functions
Mnemonic CC_FN
Description There shall be no duplicated functions
Cloned Algorithmic
Mnemonic CFTC_FN
Description There shall be no algorithmic cloning
There shall be a no code before first case
Mnemonic NOCODEBEFORECASE
Description There shall be a no code before the first case of a switch statement.
Continue shall not be used
Mnemonic NOCONT
Description The 'continue' statement shall not be used (see [MISRA-C:2004]: RULE 14.5).
Fallthrough shall be avoided
Mnemonic NOFALLTHROUGH
Description There shall be no fallthrough the next case in a switch statement.
FIXME shall not be commited in sources code
Mnemonic R_NOFIXME
Description FIXME shall not be commited in sources code as it brings confusion regarding code reliability.
GOTO shall not be used
Mnemonic NOGOTO
Description A unconditional GOTO shall not be used to jump outside the paragraph.
Label out a switch
Mnemonic NOLABEL
Description A switch label shall only be used when the most closely-enclosing compound statement is the body of a switch statement (see [MISRA-C:2004]: RULE 15.1).
Avoid Duplicated Blocks in Function
Mnemonic RS_FN
Description There shall be no duplicated parts in functions
TODO shall not be commited in sources code
Mnemonic R_NOTODO
Description TODO shall not be commited in sources code as it brings confusion regarding code reliability.
Missing case in switch
Mnemonic ONECASE
Description Every switch statement shall have at least one case clause (see [MISRA-C:2004]: RULE 15.5).
Relaxed violation
Mnemonic RELAX
Description A rule violation is relaxed and justified.
Multiple exits are not allowed
Mnemonic RETURN
Description A function shall have a single point of exit at the end (see [MISRA-C:2004]: RULE 14.7).
Risky Empty Statement
Mnemonic RISKYEMPTY
Description Risky Empty Statement
Multiple break in loop are not allowed
Mnemonic SGLBRK
Description For any iteration statement there shall be at most one 'break' statement used for loop termination (see [MISRA-C:2004]: RULE 14.6).
Constant Data
Mnemonic ACST
Description Number of constant data
Number of Attributes
Mnemonic ANBR
Description Number of attributes
Number of data without accessibility
Mnemonic ANON
Description Number of data without accessibility
Andthen Operators
Mnemonic ANTH
Description Number of 'andthen' operators
Public Data
Mnemonic APBL
Description Number of public data
Protected Data
Mnemonic APRT
Description Number of protected data
Private data
Mnemonic APRV
Description Number of private data
Static Data
Mnemonic ASTA
Description Number of static data
Number of comment blocks
Mnemonic BCOM
Description Number of comment blocks.
Header Blocks Of Comment
Mnemonic BHCO
Description Number block of comment placed before the beginning of the artefact.
Blank Lines
Mnemonic BLAN
Description Number of blank lines of code in the source file(s).
Brace Lines
Mnemonic BRAC
Description Number of lines of code containing only a brace in the source file(s).
Case Labels
Mnemonic CASE
Description Number of 'case' labels in the function
Catch Statements
Mnemonic CATC
Description Number of 'catch' statements in the function
Cyclomatic Complexity
Mnemonic CCN
Description Number of linearly independent paths in the function control graph.
Control Flow Token
Mnemonic CFT
Description Number of tokens in the control flow of functions
Call Graph Depth
Mnemonic CGDM
Description Maximum depth of the call graph.
Comment Lines
Mnemonic CLOC
Description Number of lines of comments in the source file(s).
Continue Statements
Mnemonic CONT
Description Number of 'continue' statements in the function
Commented Statements
Mnemonic CSTAT
Description Number of Commented Statements.
Minimum Number of Cycles
Mnemonic CYCL
Description Minimum number of call graph cycles in which the function is involved (including recursivity).
Depth of Descendant Tree
Mnemonic DDT
Description Maximun depth of the inheritance tree from the class
Default Statement
Mnemonic DEFT
Description Number of 'default' blocks in 'switch' in the function
Depth of Inheritance Tree
Mnemonic DIT
Description Maximun depth of the class inheritance tree
Distinct Operands
Mnemonic DOPD
Description Number of distinct operands: variables and constants ([Halstead,76]: n2)
Distinct Operators
Mnemonic DOPT
Description Number of distinct operators: language keywords ([Halstead,76]: n1)
Do While Statements
Mnemonic DOWH
Description Number of 'do...while' statements in the function
Else Statements
Mnemonic ELSE
Description Number of 'else' statements
Call to exit
Mnemonic EXIT
Description Number of calls to the exit function
For Statements
Mnemonic FOR
Description Number of 'for' statements in the function
Foreach Statements
Mnemonic FORE
Description Number of 'foreach' statements in the function
Structures Added
Mnemonic SADD
Description Number of control structures added since the previous version.
Structures Modified
Mnemonic SMOD
Description Number of control structures modified since the previous version.
Structures Removed
Mnemonic SREM
Description Number of control structures removed since the previous version.
Number of Structures
Mnemonic SSIZ
Description Number of control structures: iterations, selections, sequences
Goto Statements
Mnemonic GOTO
Description Number of 'goto' statements
Header Lines Of Comment
Mnemonic HCOM
Description Number of comment lines placed before the beginning of the artefact.
Header Lines Of Code
Mnemonic HLOC
Description Number of lines between the function or class definition and the first opening brace.
HTML Lines of Code
Mnemonic HTML
Description Number of HTML lines of code in the source file(s).
Cloned Code
Mnemonic ICC
Description Duplicated code in this artefact
Cloned Control Flow Tokens
Mnemonic ICFTC
Description Number of duplicated tokens in control flow of functions
If Statements
Mnemonic IF
Description Number of 'if' statements
Line Count
Mnemonic LC
Description Number of lines.
Loop Statements
Mnemonic LOOP
Description Number of loop statements in the function
Constant Methods
Mnemonic MCST
Description Number of 'constant' methods i.e. which do not modify the object
Multiple Inheritance Indicator
Mnemonic MII
Description Number of classes from which the class inherits directly
PHP/HTML Mixed Lines
Mnemonic MIXL
Description Number of lines containing both PHP and HTML in the source files.
Mixed Lines
Mnemonic MLOC
Description Number of lines containing both code and comment in the source files.
Methods without Accessibility
Mnemonic MNON
Description Number of methods without any accessibility specifier
Public Methods
Mnemonic MPBL
Description Number of public methods
Protected Methods
Mnemonic MPRT
Description Number of protected methods
Private Methods
Mnemonic MPRV
Description Number of private methods
Static Methods
Mnemonic MSTA
Description Number of static methods
Number of Ancestors
Mnemonic NAC
Description Number of classes from which the class inherits directly or indirectly
Number of Descendants
Mnemonic NDC
Description Number of classes which inherit from the class directly or indirectly
Maximum Nested Structures
Mnemonic NEST
Description Maximum number of nested structures
Number Of Children
Mnemonic NOC
Description Number of classes which inherit directly from the class
Non-Cyclic Paths
Mnemonic PATH
Description Number of non-cyclic paths in the function.
Orelse operators
Mnemonic OREL
Description Number of 'orelse' operators
PHP Lines of Code
Mnemonic PHPL
Description Number of PHP lines of code in the source file(s).
Return Statements
Mnemonic RETURN
Description Number of 'return' statements in the function
Repeated Code Blocks
Mnemonic RS
Description Duplicated blocks in the function
Skipped Lines of Comment code
Mnemonic SKLC
Description Skipped Lines of Comment code i.e. lines that match a user defined regular expression to skip lines of comments.
Source Lines Of Code
Mnemonic SLOC
Description Number of lines of source code in the source file(s).
Executable Statements
Mnemonic STAT
Description Total number of executable statements.
Switch Statements
Mnemonic SWIT
Description Number of 'switch' statements in the function
Ternary operators
Mnemonic TERN
Description Number of ternary operators i.e. ?:
Throw Statements
Mnemonic THRO
Description Number of 'throw' statements in the function
Operand Occurrences
Mnemonic TOPD
Description Number of occurrences of operands: variables and constants ([Halstead,76]: N2)
Operator Occurrences
Mnemonic TOPT
Description Number of occurrences of operators: language keywords ([Halstead,76]: N1)
Try Statements
Mnemonic TRY
Description Number of 'try' statements in the function
Lines Added
Mnemonic LADD
Description Number of lines added since the previous version.
Lines Modified
Mnemonic LMOD
Description Number of lines modified since the previous version.
Lines Removed
Mnemonic LREM
Description Number of lines removed since the previous version.
While Statements
Mnemonic WHIL
Description Number of 'while' statements in the function
Missing Break
Mnemonic BRKFINAL
Description An unconditional break statement shall terminate every non-empty switch clause (see [MISRA-C:2004]: RULE 15.2).
Backward Goto shall not be used
Mnemonic BWGOTO
Description Backward gotos shall not be used.
Missing compound statement
Mnemonic COMPOUND
Description The statement forming the body of a switch, while, do ... while or for statement shall be a compound statement (see [MISRA-C:2004]: RULE 14.8).
Missing compound if
Mnemonic COMPOUNDIF
Description An if (expression) construct shall be followed by a compound statement. The else keyword shall be followed by either a compound statement, or another if statement (see [MISRA-C:2004]: RULE 14.9).
Commented-out Source Code is not allowed
Mnemonic R_CSTAT
Description Commented-out Source Code is not allowed
Missing Default
Mnemonic DEFAULT
Description The final clause of a switch statement shall be the default clause (see [MISRA-C:2004]: RULE 15.3).
Missing final else
Mnemonic ELSEFINAL
Description All if ... else if constructs shall be terminated with an else clause (see [MISRA-C:2004]: RULE 14.10).
Assignment in Boolean
Mnemonic NOASGCOND
Description Assignment operators shall not be used in expressions that yield a boolean value
Assignment without Comparison
Mnemonic NOASGINBOOL
Description Assignment operators shall not be used in expressions that do not contain comparison operators.
Factorizable Classes
Mnemonic CAC_CL
Description Consider classes refactorization
Factorizable Files
Mnemonic CAC_FI
Description Consider files refactorization
Factorizable Functions
Mnemonic CAC_FN
Description Consider functions refactorization
Factorizable Packages
Mnemonic CAC_PKG
Description Consider packages refactorization
Cloned Classes
Mnemonic CC_CL
Description There shall be no duplicated classes
Cloned Files
Mnemonic CC_FI
Description There shall be no duplicated files
Cloned Functions
Mnemonic CC_FN
Description There shall be no duplicated functions
Cloned Algorithmic
Mnemonic CFTC_FN
Description There shall be no algorithmic cloning
There shall be a no code before first case
Mnemonic NOCODEBEFORECASE
Description There shall be a no code before the first case of a switch statement.
Continue shall not be used
Mnemonic NOCONT
Description The 'continue' statement shall not be used (see [MISRA-C:2004]: RULE 14.5).
Fallthrough shall be avoided
Mnemonic NOFALLTHROUGH
Description There shall be no fallthrough the next case in a switch statement.
FIXME shall not be commited in sources code
Mnemonic R_NOFIXME
Description FIXME shall not be commited in sources code as it brings confusion regarding code reliability.
GOTO shall not be used
Mnemonic NOGOTO
Description A unconditional GOTO shall not be used to jump outside the paragraph.
Label out a switch
Mnemonic NOLABEL
Description A switch label shall only be used when the most closely-enclosing compound statement is the body of a switch statement (see [MISRA-C:2004]: RULE 15.1).
Avoid Duplicated Blocks in Function
Mnemonic RS_FN
Description There shall be no duplicated parts in functions
TODO shall not be commited in sources code
Mnemonic R_NOTODO
Description TODO shall not be commited in sources code as it brings confusion regarding code reliability.
Missing case in switch
Mnemonic ONECASE
Description Every switch statement shall have at least one case clause (see [MISRA-C:2004]: RULE 15.5).
Relaxed violation
Mnemonic RELAX
Description A rule violation is relaxed and justified.
Multiple exits are not allowed
Mnemonic RETURN
Description A function shall have a single point of exit at the end (see [MISRA-C:2004]: RULE 14.7).
Risky Empty Statement
Mnemonic RISKYEMPTY
Description Risky Empty Statement
Multiple break in loop are not allowed
Mnemonic SGLBRK
Description For any iteration statement there shall be at most one 'break' statement used for loop termination (see [MISRA-C:2004]: RULE 14.6).
Number of comment blocks
Mnemonic BCOM
Description Number of comment blocks.
Header Blocks Of Comment
Mnemonic BHCO
Description Number block of comment placed before the beginning of the artefact.
Blank Lines
Mnemonic BLAN
Description Number of blank lines of code in the source file(s).
Brace Lines
Mnemonic BRAC
Description Number of lines of code containing only a brace in the source file(s).
Break in Loop
Mnemonic BRKL
Description Number of 'break' statements in loop in the function
Catch Statements
Mnemonic CATC
Description Number of 'catch' statements in the function
Cyclomatic Complexity
Mnemonic CCN
Description Number of linearly independent paths in the function control graph.
Control Flow Token
Mnemonic CFT
Description Number of tokens in the control flow of functions
Call Graph Depth
Mnemonic CGDM
Description Maximum depth of the call graph.
Comment Lines
Mnemonic CLOC
Description Number of lines of comments in the source file(s).
Continue Statements
Mnemonic CONT
Description Number of 'continue' statements in the function
Commented Statements
Mnemonic CSTAT
Description Number of Commented Statements.
Minimum Number of Cycles
Mnemonic CYCL
Description Minimum number of call graph cycles in which the function is involved (including recursivity).
Depth of Descendant Tree
Mnemonic DDT
Description Maximun depth of the inheritance tree from the class
Depth of Inheritance Tree
Mnemonic DIT
Description Maximun depth of the class inheritance tree
Number of DocString lines
Mnemonic DOCL
Description Count number of lines of python DocString
Distinct Operands
Mnemonic DOPD
Description Number of distinct operands: variables and constants ([Halstead,76]: n2)
Distinct Operators
Mnemonic DOPT
Description Number of distinct operators: language keywords ([Halstead,76]: n1)
Else Statements
Mnemonic ELSE
Description Number of 'else' statements
Call to exit
Mnemonic EXIT
Description Number of calls to the exit function
For Statements
Mnemonic FOR
Description Number of 'for' statements in the function
Structures Added
Mnemonic SADD
Description Number of control structures added since the previous version.
Structures Modified
Mnemonic SMOD
Description Number of control structures modified since the previous version.
Structures Removed
Mnemonic SREM
Description Number of control structures removed since the previous version.
Number of Structures
Mnemonic SSIZ
Description Number of control structures: iterations, selections, sequences
Header Lines Of Comment
Mnemonic HCOM
Description Number of comment lines placed before the beginning of the artefact.
Header Lines Of Code
Mnemonic HLOC
Description Number of lines between the function or class definition and the first opening brace.
Cloned Code
Mnemonic ICC
Description Duplicated code in this artefact
Cloned Control Flow Tokens
Mnemonic ICFTC
Description Number of duplicated tokens in control flow of functions
If Statements
Mnemonic IF
Description Number of 'if' statements
Line Count
Mnemonic LC
Description Number of lines.
Loop Statements
Mnemonic LOOP
Description Number of loop statements in the function
Multiple Inheritance Indicator
Mnemonic MII
Description Number of classes from which the class inherits directly
Mixed Lines
Mnemonic MLOC
Description Number of lines containing both code and comment in the source files.
Number of Ancestors
Mnemonic NAC
Description Number of classes from which the class inherits directly or indirectly
Number of Descendants
Mnemonic NDC
Description Number of classes which inherit from the class directly or indirectly
Maximum Nested Structures
Mnemonic NEST
Description Maximum number of nested structures
Number Of Children
Mnemonic NOC
Description Number of classes which inherit directly from the class
Non-Cyclic Paths
Mnemonic PATH
Description Number of non-cyclic paths in the function.
% of parsed tokens
Mnemonic PARSE
Description Percent of parsed tokens
Return Statements
Mnemonic RETURN
Description Number of 'return' statements in the function
Repeated Code Blocks
Mnemonic RS
Description Duplicated blocks in the function
Skipped Lines of Comment code
Mnemonic SKLC
Description Skipped Lines of Comment code i.e. lines that match a user defined regular expression to skip lines of comments.
Source Lines Of Code
Mnemonic SLOC
Description Number of lines of source code in the source file(s).
Executable Statements
Mnemonic STAT
Description Total number of executable statements.
Throw Statements
Mnemonic THRO
Description Number of 'throw' statements in the function
Operand Occurrences
Mnemonic TOPD
Description Number of occurrences of operands: variables and constants ([Halstead,76]: N2)
Operator Occurrences
Mnemonic TOPT
Description Number of occurrences of operators: language keywords ([Halstead,76]: N1)
Try Statements
Mnemonic TRY
Description Number of 'try' statements in the function
Lines Added
Mnemonic LADD
Description Number of lines added since the previous version.
Lines Modified
Mnemonic LMOD
Description Number of lines modified since the previous version.
Lines Removed
Mnemonic LREM
Description Number of lines removed since the previous version.
While Statements
Mnemonic WHIL
Description Number of 'while' statements in the function
There shall be a __init__ method in the class.
Mnemonic CLASSNOINIT
Description There shall be a __init__ method in the class.
Missing compound statement
Mnemonic COMPOUND
Description The statement forming the body of a switch, while, do ... while or for statement shall be a compound statement (see [MISRA-C:2004]: RULE 14.8).
Missing compound if
Mnemonic COMPOUNDIF
Description An if (expression) construct shall be followed by a compound statement. The else keyword shall be followed by either a compound statement, or another if statement (see [MISRA-C:2004]: RULE 14.9).
Missing final else
Mnemonic ELSEFINAL
Description All if ... else if constructs shall be terminated with an else clause (see [MISRA-C:2004]: RULE 14.10).
Method should have "self" as first argument
Mnemonic METHODSELFFIRST
Description Method has an attribute different the "self" as first argument.
Method without parameter
Mnemonic METHODWITHOUTPARAM
Description Method without parameter.
Assignment in Boolean
Mnemonic NOASGCOND
Description Assignment operators shall not be used in expressions that yield a boolean value
Assignment without Comparison
Mnemonic NOASGINBOOL
Description Assignment operators shall not be used in expressions that do not contain comparison operators.
Factorizable Classes
Mnemonic CAC_CL
Description Consider classes refactorization
Factorizable Files
Mnemonic CAC_FI
Description Consider files refactorization
Factorizable Functions
Mnemonic CAC_FN
Description Consider functions refactorization
Factorizable Packages
Mnemonic CAC_PKG
Description Consider packages refactorization
Cloned Classes
Mnemonic CC_CL
Description There shall be no duplicated classes
Cloned Files
Mnemonic CC_FI
Description There shall be no duplicated files
Cloned Functions
Mnemonic CC_FN
Description There shall be no duplicated functions
Cloned Algorithmic
Mnemonic CFTC_FN
Description There shall be no algorithmic cloning
Continue shall not be used
Mnemonic NOCONT
Description The 'continue' statement shall not be used (see [MISRA-C:2004]: RULE 14.5).
Exec shall not be used.
Mnemonic NOEXEC
Description Use of 'exec'
EXIT PROGRAM shall not be used
Mnemonic NOEXIT
Description EXIT PROGRAM shall not be used in a subprogram. Use GOBACK instead
FIXME shall not be commited in sources code
Mnemonic R_NOFIXME
Description FIXME shall not be commited in sources code as it brings confusion regarding code reliability.
Label out a switch
Mnemonic NOLABEL
Description A switch label shall only be used when the most closely-enclosing compound statement is the body of a switch statement (see [MISRA-C:2004]: RULE 15.1).
Print shall not be used.
Mnemonic NOPRINT
Description Use of 'print'
Avoid Duplicated Blocks in Function
Mnemonic RS_FN
Description There shall be no duplicated parts in functions
'star' parameter shall not be used.
Mnemonic NOSTARPARAM
Description Use of star parameter
TODO shall not be commited in sources code
Mnemonic R_NOTODO
Description TODO shall not be commited in sources code as it brings confusion regarding code reliability.
There shall be only one Statement per line
Mnemonic ONESTMTPERLINE
Description There shall be only one Statement per line
Relaxed violation
Mnemonic RELAX
Description A rule violation is relaxed and justified.
Multiple exits are not allowed
Mnemonic RETURN
Description A function shall have a single point of exit at the end (see [MISRA-C:2004]: RULE 14.7).
Risky Empty Statement
Mnemonic RISKYEMPTY
Description Risky Empty Statement
Multiple break in loop are not allowed
Mnemonic SGLBRK
Description For any iteration statement there shall be at most one 'break' statement used for loop termination (see [MISRA-C:2004]: RULE 14.6).
Andthen Operators
Mnemonic ANTH
Description Number of 'andthen' operators
Number of comment blocks
Mnemonic BCOM
Description Number of comment blocks.
Header Blocks Of Comment
Mnemonic BHCO
Description Number block of comment placed before the beginning of the artefact.
Blank Lines
Mnemonic BLAN
Description Number of blank lines of code in the source file(s).
Brace Lines
Mnemonic BRAC
Description Number of lines of code containing only a brace in the source file(s).
Break in Loop
Mnemonic BRKL
Description Number of 'break' statements in loop in the function
Case Blocks
Mnemonic CABL
Description Number of 'case' blocks in 'switch' in the function
Case Labels
Mnemonic CASE
Description Number of 'case' labels in the function
Catch Statements
Mnemonic CATC
Description Number of 'catch' statements in the function
Cyclomatic Complexity
Mnemonic CCN
Description Number of linearly independent paths in the function control graph.
Control Flow Token
Mnemonic CFT
Description Number of tokens in the control flow of functions
Call Graph Depth
Mnemonic CGDM
Description Maximum depth of the call graph.
Comment Lines
Mnemonic CLOC
Description Number of lines of comments in the source file(s).
Continue Statements
Mnemonic CONT
Description Number of 'continue' statements in the function
Commented Statements
Mnemonic CSTAT
Description Number of Commented Statements.
Minimum Number of Cycles
Mnemonic CYCL
Description Minimum number of call graph cycles in which the function is involved (including recursivity).
Default Statement
Mnemonic DEFT
Description Number of 'default' blocks in 'switch' in the function
Distinct Operands
Mnemonic DOPD
Description Number of distinct operands: variables and constants ([Halstead,76]: n2)
Distinct Operators
Mnemonic DOPT
Description Number of distinct operators: language keywords ([Halstead,76]: n1)
Else Statements
Mnemonic ELSE
Description Number of 'else' statements
For Statements
Mnemonic FOR
Description Number of 'for' statements in the function
Structures Added
Mnemonic SADD
Description Number of control structures added since the previous version.
Structures Modified
Mnemonic SMOD
Description Number of control structures modified since the previous version.
Structures Removed
Mnemonic SREM
Description Number of control structures removed since the previous version.
Number of Structures
Mnemonic SSIZ
Description Number of control structures: iterations, selections, sequences
Goto Statements
Mnemonic GOTO
Description Number of 'goto' statements
Header Lines Of Comment
Mnemonic HCOM
Description Number of comment lines placed before the beginning of the artefact.
Header Lines Of Code
Mnemonic HLOC
Description Number of lines between the function or class definition and the first opening brace.
Cloned Code
Mnemonic ICC
Description Duplicated code in this artefact
Cloned Control Flow Tokens
Mnemonic ICFTC
Description Number of duplicated tokens in control flow of functions
If Statements
Mnemonic IF
Description Number of 'if' statements
Line Count
Mnemonic LC
Description Number of lines.
Loop Statements
Mnemonic LOOP
Description Number of loop statements in the function
Mixed Lines
Mnemonic MLOC
Description Number of lines containing both code and comment in the source files.
Maximum Nested Structures
Mnemonic NEST
Description Maximum number of nested structures
Number of Parameters
Mnemonic NOP
Description Number of formal parameters in the function
Non-Cyclic Paths
Mnemonic PATH
Description Number of non-cyclic paths in the function.
Orelse operators
Mnemonic OREL
Description Number of 'orelse' operators
Number of #DEFINE
Mnemonic P_DEFINE
Description Number of #DEFINE
Number of #ELIF
Mnemonic P_ELIF
Description Number of #ELIF
Number of #ELSE
Mnemonic P_ELSE
Description Number of #ELSE
Number of #ENDIF
Mnemonic P_ENDIF
Description Number of #ENDIF
Number of #ERROR
Mnemonic P_ERROR
Description Number of #ERROR
Number of #IF
Mnemonic P_IF
Description Number of #IF
Number of #IFDEF
Mnemonic P_IFDEF
Description Number of #IFDEF
Number of #IFNDEF
Mnemonic P_IFNDEF
Description Number of #IFNDEF
Number of Include
Mnemonic P_INCLUDE
Description Number of Include
Compiler FLAG Nested Level
Mnemonic P_NEST
Description Compiler FLAG Nested Level
Number of #PRAGMA
Mnemonic P_PRAGMA
Description Number of #PRAGMA
Number of #UNDEF
Mnemonic P_UNDEF
Description Number of #UNDEF
Number of #WARNING
Mnemonic P_WARNING
Description Number of #WARNING
Return Statements
Mnemonic RETURN
Description Number of 'return' statements in the function
Repeated Code Blocks
Mnemonic RS
Description Duplicated blocks in the function
Skipped Lines of Comment code
Mnemonic SKLC
Description Skipped Lines of Comment code i.e. lines that match a user defined regular expression to skip lines of comments.
Source Lines Of Code
Mnemonic SLOC
Description Number of lines of source code in the source file(s).
Executable Statements
Mnemonic STAT
Description Total number of executable statements.
Switch Statements
Mnemonic SWIT
Description Number of 'switch' statements in the function
Operand Occurrences
Mnemonic TOPD
Description Number of occurrences of operands: variables and constants ([Halstead,76]: N2)
Operator Occurrences
Mnemonic TOPT
Description Number of occurrences of operators: language keywords ([Halstead,76]: N1)
Lines Added
Mnemonic LADD
Description Number of lines added since the previous version.
Lines Modified
Mnemonic LMOD
Description Number of lines modified since the previous version.
Lines Removed
Mnemonic LREM
Description Number of lines removed since the previous version.
While Statements
Mnemonic WHIL
Description Number of 'while' statements in the function
Backward Goto shall not be used
Mnemonic BWGOTO
Description Backward gotos shall not be used.
Commented-out Source Code is not allowed
Mnemonic R_CSTAT
Description Commented-out Source Code is not allowed
Missing Default
Mnemonic DEFAULT
Description The final clause of a switch statement shall be the default clause (see [MISRA-C:2004]: RULE 15.3).
Missing final else
Mnemonic ELSEFINAL
Description All if ... else if constructs shall be terminated with an else clause (see [MISRA-C:2004]: RULE 14.10).
Factorizable Classes
Mnemonic CAC_CL
Description Consider classes refactorization
Factorizable Files
Mnemonic CAC_FI
Description Consider files refactorization
Factorizable Functions
Mnemonic CAC_FN
Description Consider functions refactorization
Factorizable Packages
Mnemonic CAC_PKG
Description Consider packages refactorization
Cloned Classes
Mnemonic CC_CL
Description There shall be no duplicated classes
Cloned Files
Mnemonic CC_FI
Description There shall be no duplicated files
Cloned Functions
Mnemonic CC_FN
Description There shall be no duplicated functions
Cloned Algorithmic
Mnemonic CFTC_FN
Description There shall be no algorithmic cloning
Commit Used
Mnemonic NOCOMMIT
Description Commit instruction used in code
FIXME shall not be commited in sources code
Mnemonic R_NOFIXME
Description FIXME shall not be commited in sources code as it brings confusion regarding code reliability.
GOTO shall not be used
Mnemonic NOGOTO
Description A unconditional GOTO shall not be used to jump outside the paragraph.
Rollback Used
Mnemonic R_NOROLLBACK
Description Rollback instruction used in code
Avoid Duplicated Blocks in Function
Mnemonic RS_FN
Description There shall be no duplicated parts in functions
TODO shall not be commited in sources code
Mnemonic R_NOTODO
Description TODO shall not be commited in sources code as it brings confusion regarding code reliability.
Missing case in switch
Mnemonic ONECASE
Description Every switch statement shall have at least one case clause (see [MISRA-C:2004]: RULE 15.5).
Relaxed violation
Mnemonic RELAX
Description A rule violation is relaxed and justified.
Multiple exits are not allowed
Mnemonic RETURN
Description A function shall have a single point of exit at the end (see [MISRA-C:2004]: RULE 14.7).
Number of comment blocks
Mnemonic BCOM
Description Number of comment blocks.
Header Blocks Of Comment
Mnemonic BHCO
Description Number block of comment placed before the beginning of the artefact.
Blank Lines
Mnemonic BLAN
Description Number of blank lines of code in the source file(s).
Brace Lines
Mnemonic BRAC
Description Number of lines of code containing only a brace in the source file(s).
Break in Loop
Mnemonic BRKL
Description Number of 'break' statements in loop in the function
Catch Statements
Mnemonic CATC
Description Number of 'catch' statements in the function
Cyclomatic Complexity
Mnemonic CCN
Description Number of linearly independent paths in the function control graph.
Control Flow Token
Mnemonic CFT
Description Number of tokens in the control flow of functions
Call Graph Depth
Mnemonic CGDM
Description Maximum depth of the call graph.
Comment Lines
Mnemonic CLOC
Description Number of lines of comments in the source file(s).
Continue Statements
Mnemonic CONT
Description Number of 'continue' statements in the function
Commented Statements
Mnemonic CSTAT
Description Number of Commented Statements.
Minimum Number of Cycles
Mnemonic CYCL
Description Minimum number of call graph cycles in which the function is involved (including recursivity).
Delete Statements
Mnemonic DELETE
Description Number of Delete statements
Distinct Operands
Mnemonic DOPD
Description Number of distinct operands: variables and constants ([Halstead,76]: n2)
Distinct Operators
Mnemonic DOPT
Description Number of distinct operators: language keywords ([Halstead,76]: n1)
Else Statements
Mnemonic ELSE
Description Number of 'else' statements
Structures Added
Mnemonic SADD
Description Number of control structures added since the previous version.
Structures Modified
Mnemonic SMOD
Description Number of control structures modified since the previous version.
Structures Removed
Mnemonic SREM
Description Number of control structures removed since the previous version.
Number of Structures
Mnemonic SSIZ
Description Number of control structures: iterations, selections, sequences
Goto Statements
Mnemonic GOTO
Description Number of 'goto' statements
Header Lines Of Comment
Mnemonic HCOM
Description Number of comment lines placed before the beginning of the artefact.
Header Lines Of Code
Mnemonic HLOC
Description Number of lines between the function or class definition and the first opening brace.
Cloned Code
Mnemonic ICC
Description Duplicated code in this artefact
Cloned Control Flow Tokens
Mnemonic ICFTC
Description Number of duplicated tokens in control flow of functions
If Statements
Mnemonic IF
Description Number of 'if' statements
Insert Statements
Mnemonic INSERT
Description Number of Insert statements
Label Statements
Mnemonic LABEL
Description Number of Label statements
Line Count
Mnemonic LC
Description Number of lines.
Mixed Lines
Mnemonic MLOC
Description Number of lines containing both code and comment in the source files.
Maximum Nested Structures
Mnemonic NEST
Description Maximum number of nested structures
Non-Cyclic Paths
Mnemonic PATH
Description Number of non-cyclic paths in the function.
Return Statements
Mnemonic RETURN
Description Number of 'return' statements in the function
Repeated Code Blocks
Mnemonic RS
Description Duplicated blocks in the function
Select Statements
Mnemonic SELECT
Description Number of Select statements
Skipped Lines of Comment code
Mnemonic SKLC
Description Skipped Lines of Comment code i.e. lines that match a user defined regular expression to skip lines of comments.
Source Lines Of Code
Mnemonic SLOC
Description Number of lines of source code in the source file(s).
Executable Statements
Mnemonic STAT
Description Total number of executable statements.
Throw Statements
Mnemonic THRO
Description Number of 'throw' statements in the function
Operand Occurrences
Mnemonic TOPD
Description Number of occurrences of operands: variables and constants ([Halstead,76]: N2)
Operator Occurrences
Mnemonic TOPT
Description Number of occurrences of operators: language keywords ([Halstead,76]: N1)
Try Statements
Mnemonic TRY
Description Number of 'try' statements in the function
Lines Added
Mnemonic LADD
Description Number of lines added since the previous version.
Lines Modified
Mnemonic LMOD
Description Number of lines modified since the previous version.
Lines Removed
Mnemonic LREM
Description Number of lines removed since the previous version.
Update Statements
Mnemonic UPDATE
Description Number of Update statements
While Statements
Mnemonic WHIL
Description Number of 'while' statements in the function
Backward Goto shall not be used
Mnemonic BWGOTO
Description Backward gotos shall not be used.
Commented-out Source Code is not allowed
Mnemonic R_CSTAT
Description Commented-out Source Code is not allowed
Missing final else
Mnemonic ELSEFINAL
Description All if ... else if constructs shall be terminated with an else clause (see [MISRA-C:2004]: RULE 14.10).
Factorizable Classes
Mnemonic CAC_CL
Description Consider classes refactorization
Factorizable Files
Mnemonic CAC_FI
Description Consider files refactorization
Factorizable Functions
Mnemonic CAC_FN
Description Consider functions refactorization
Factorizable Packages
Mnemonic CAC_PKG
Description Consider packages refactorization
Cloned Classes
Mnemonic CC_CL
Description There shall be no duplicated classes
Cloned Files
Mnemonic CC_FI
Description There shall be no duplicated files
Cloned Functions
Mnemonic CC_FN
Description There shall be no duplicated functions
Cloned Algorithmic
Mnemonic CFTC_FN
Description There shall be no algorithmic cloning
Continue shall not be used
Mnemonic NOCONT
Description The 'continue' statement shall not be used (see [MISRA-C:2004]: RULE 14.5).
FIXME shall not be commited in sources code
Mnemonic R_NOFIXME
Description FIXME shall not be commited in sources code as it brings confusion regarding code reliability.
GOTO shall not be used
Mnemonic NOGOTO
Description A unconditional GOTO shall not be used to jump outside the paragraph.
Avoid Duplicated Blocks in Function
Mnemonic RS_FN
Description There shall be no duplicated parts in functions
TODO shall not be commited in sources code
Mnemonic R_NOTODO
Description TODO shall not be commited in sources code as it brings confusion regarding code reliability.
Relaxed violation
Mnemonic RELAX
Description A rule violation is relaxed and justified.
Multiple exits are not allowed
Mnemonic RETURN
Description A function shall have a single point of exit at the end (see [MISRA-C:2004]: RULE 14.7).
Multiple break in loop are not allowed
Mnemonic SGLBRK
Description For any iteration statement there shall be at most one 'break' statement used for loop termination (see [MISRA-C:2004]: RULE 14.6).
Constant Data
Mnemonic ACST
Description Number of constant data
Fiend Attributes
Mnemonic AFRI
Description Number of Friend Attributes
Number of Attributes
Mnemonic ANBR
Description Number of attributes
Andthen Operators
Mnemonic ANTH
Description Number of 'andthen' operators
Public Data
Mnemonic APBL
Description Number of public data
Protected Data
Mnemonic APRT
Description Number of protected data
Private data
Mnemonic APRV
Description Number of private data
Shadowed Attributes
Mnemonic ASHD
Description Number of Shadowed Attributes
Shared Attributes
Mnemonic ASHR
Description Number of Shared Attributes
Number of comment blocks
Mnemonic BCOM
Description Number of comment blocks.
Header Blocks Of Comment
Mnemonic BHCO
Description Number block of comment placed before the beginning of the artefact.
Blank Lines
Mnemonic BLAN
Description Number of blank lines of code in the source file(s).
Brace Lines
Mnemonic BRAC
Description Number of lines of code containing only a brace in the source file(s).
Break in Loop
Mnemonic BRKL
Description Number of 'break' statements in loop in the function
Stop Statements
Mnemonic BRKP
Description Number of Stop Statements (Breakpoints)
Break in Switch
Mnemonic BRKS
Description Number of 'break' statements in 'switch' in the function
Case Blocks
Mnemonic CABL
Description Number of 'case' blocks in 'switch' in the function
Case Labels
Mnemonic CASE
Description Number of 'case' labels in the function
Catch Statements
Mnemonic CATC
Description Number of 'catch' statements in the function
Cyclomatic Complexity
Mnemonic CCN
Description Number of linearly independent paths in the function control graph.
Control Flow Token
Mnemonic CFT
Description Number of tokens in the control flow of functions
Call Graph Depth
Mnemonic CGDM
Description Maximum depth of the call graph.
Comment Lines
Mnemonic CLOC
Description Number of lines of comments in the source file(s).
Continue Statements
Mnemonic CONT
Description Number of 'continue' statements in the function
Commented Statements
Mnemonic CSTAT
Description Number of Commented Statements.
Minimum Number of Cycles
Mnemonic CYCL
Description Minimum number of call graph cycles in which the function is involved (including recursivity).
Depth of Descendant Tree
Mnemonic DDT
Description Maximun depth of the inheritance tree from the class
Default Statement
Mnemonic DEFT
Description Number of 'default' blocks in 'switch' in the function
Depth of Inheritance Tree
Mnemonic DIT
Description Maximun depth of the class inheritance tree
Distinct Operands
Mnemonic DOPD
Description Number of distinct operands: variables and constants ([Halstead,76]: n2)
Distinct Operators
Mnemonic DOPT
Description Number of distinct operators: language keywords ([Halstead,76]: n1)
Do While Statements
Mnemonic DOWH
Description Number of 'do...while' statements in the function
Friend Events
Mnemonic EFRI
Description Number of Friend Events
Else Statements
Mnemonic ELSE
Description Number of 'else' statements
Events
Mnemonic ENBR
Description Number of Events
Public Events
Mnemonic EPBL
Description Number of Public Events
Protected Events
Mnemonic EPRT
Description Number of Protected Events
Private Events
Mnemonic EPRV
Description Number of Private Events
Shadowed Events
Mnemonic ESHD
Description Number of Shadowed Events
Shared Events
Mnemonic ESHR
Description Number of Shared Events
Call to exit
Mnemonic EXIT
Description Number of calls to the exit function
For Statements
Mnemonic FOR
Description Number of 'for' statements in the function
Structures Added
Mnemonic SADD
Description Number of control structures added since the previous version.
Structures Modified
Mnemonic SMOD
Description Number of control structures modified since the previous version.
Structures Removed
Mnemonic SREM
Description Number of control structures removed since the previous version.
Number of Structures
Mnemonic SSIZ
Description Number of control structures: iterations, selections, sequences
Goto Statements
Mnemonic GOTO
Description Number of 'goto' statements
Header Lines Of Comment
Mnemonic HCOM
Description Number of comment lines placed before the beginning of the artefact.
Header Lines Of Code
Mnemonic HLOC
Description Number of lines between the function or class definition and the first opening brace.
Cloned Code
Mnemonic ICC
Description Duplicated code in this artefact
Cloned Control Flow Tokens
Mnemonic ICFTC
Description Number of duplicated tokens in control flow of functions
If Statements
Mnemonic IF
Description Number of 'if' statements
End Statements
Mnemonic KILL
Description Number of End Statements
Line Count
Mnemonic LC
Description Number of lines.
Loop Statements
Mnemonic LOOP
Description Number of loop statements in the function
Declare Members
Mnemonic MDEC
Description Number of Declare Members
Delegate Members
Mnemonic MDEL
Description Number of Delegate Members
Friend Members
Mnemonic MFRI
Description Number of Friend Members
Multiple Inheritance Indicator
Mnemonic MII
Description Number of classes from which the class inherits directly
Mixed Lines
Mnemonic MLOC
Description Number of lines containing both code and comment in the source files.
Must Members
Mnemonic MMST
Description Number of Must Members
Methods without Accessibility
Mnemonic MNON
Description Number of methods without any accessibility specifier
Partial Members
Mnemonic MPAR
Description Number of Partial Members
Public Methods
Mnemonic MPBL
Description Number of public methods
Protected Methods
Mnemonic MPRT
Description Number of protected methods
Private Methods
Mnemonic MPRV
Description Number of private methods
Shadowed Members
Mnemonic MSHD
Description Number of Shadowed Members
Shared Members
Mnemonic MSHR
Description Number of Shared Members
Number of Ancestors
Mnemonic NAC
Description Number of classes from which the class inherits directly or indirectly
Number of Descendants
Mnemonic NDC
Description Number of classes which inherit from the class directly or indirectly
Maximum Nested Structures
Mnemonic NEST
Description Maximum number of nested structures
Number Of Children
Mnemonic NOC
Description Number of classes which inherit directly from the class
Number of Methods
Mnemonic NOM
Description Number of methods defined in the class
Number of Parameters
Mnemonic NOP
Description Number of formal parameters in the function
Non-Cyclic Paths
Mnemonic PATH
Description Number of non-cyclic paths in the function.
Orelse operators
Mnemonic OREL
Description Number of 'orelse' operators
% of parsed tokens
Mnemonic PARSE
Description Percent of parsed tokens
Friend Properties
Mnemonic PFRI
Description Number of Fiend Properties
Must Properties
Mnemonic PMST
Description Number of Must Properties
Properties
Mnemonic PNBR
Description Total number of properties
Public Properties
Mnemonic PPBL
Description Number of public properties
Protected Properties
Mnemonic PPRT
Description Number of protected properties
Private Properties
Mnemonic PPRV
Description Number of private properties
Shadowed Properties
Mnemonic PSHD
Description Number of Shadowed Properties
Shared Properties
Mnemonic PSHR
Description Number of Shared Properties
Return Statements
Mnemonic RETURN
Description Number of 'return' statements in the function
Repeated Code Blocks
Mnemonic RS
Description Duplicated blocks in the function
Skipped Lines of Comment code
Mnemonic SKLC
Description Skipped Lines of Comment code i.e. lines that match a user defined regular expression to skip lines of comments.
Source Lines Of Code
Mnemonic SLOC
Description Number of lines of source code in the source file(s).
Executable Statements
Mnemonic STAT
Description Total number of executable statements.
Switch Statements
Mnemonic SWIT
Description Number of 'switch' statements in the function
Ternary operators
Mnemonic TERN
Description Number of ternary operators i.e. ?:
Throw Statements
Mnemonic THRO
Description Number of 'throw' statements in the function
Operand Occurrences
Mnemonic TOPD
Description Number of occurrences of operands: variables and constants ([Halstead,76]: N2)
Operator Occurrences
Mnemonic TOPT
Description Number of occurrences of operators: language keywords ([Halstead,76]: N1)
Try Statements
Mnemonic TRY
Description Number of 'try' statements in the function
Lines Added
Mnemonic LADD
Description Number of lines added since the previous version.
Lines Modified
Mnemonic LMOD
Description Number of lines modified since the previous version.
Lines Removed
Mnemonic LREM
Description Number of lines removed since the previous version.
While Statements
Mnemonic WHIL
Description Number of 'while' statements in the function
Backward Goto shall not be used
Mnemonic BWGOTO
Description Backward gotos shall not be used.
Missing Case Else clause
Mnemonic CASEELSE
Description The final clause of a Select statement shall be the Case Else clause.
Missing final else
Mnemonic ELSEFINAL
Description All if ... else if constructs shall be terminated with an else clause (see [MISRA-C:2004]: RULE 14.10).
Use of Exit Do statement
Mnemonic EXITDO
Description Do not use Exit Do statement to break a Do loop.
Use of Exit Function statement
Mnemonic EXITFCT
Description Do not use Exit Function statement, use Return instead.
Use of Exit For statement
Mnemonic EXITFOR
Description Do not use Exit For statement to break a For loop.
Use of Exit Property statement
Mnemonic EXITPROP
Description Do not use Exit Property statement, use Return instead.
Use of Exit Select statement
Mnemonic EXITSELECT
Description Do not use Exit Select statement to exit a Select statement.
Use of Exit Sub statement
Mnemonic EXITSUB
Description Do not use Exit Sub statement.
Use of Exit Try statement
Mnemonic EXITTRY
Description Do not use Exit Try statement to exit a Try statement.
Use of Exit While statement
Mnemonic EXITWHILE
Description Do not use Exit While statement to break a While loop.
Factorizable Classes
Mnemonic CAC_CL
Description Consider classes refactorization
Factorizable Files
Mnemonic CAC_FI
Description Consider files refactorization
Factorizable Functions
Mnemonic CAC_FN
Description Consider functions refactorization
Factorizable Packages
Mnemonic CAC_PKG
Description Consider packages refactorization
Cloned Classes
Mnemonic CC_CL
Description There shall be no duplicated classes
Cloned Files
Mnemonic CC_FI
Description There shall be no duplicated files
Cloned Functions
Mnemonic CC_FN
Description There shall be no duplicated functions
Cloned Algorithmic
Mnemonic CFTC_FN
Description There shall be no algorithmic cloning
Continue shall not be used
Mnemonic NOCONT
Description The 'continue' statement shall not be used (see [MISRA-C:2004]: RULE 14.5).
FIXME shall not be commited in sources code
Mnemonic R_NOFIXME
Description FIXME shall not be commited in sources code as it brings confusion regarding code reliability.
GOTO shall not be used
Mnemonic NOGOTO
Description A unconditional GOTO shall not be used to jump outside the paragraph.
Avoid Duplicated Blocks in Function
Mnemonic RS_FN
Description There shall be no duplicated parts in functions
TODO shall not be commited in sources code
Mnemonic R_NOTODO
Description TODO shall not be commited in sources code as it brings confusion regarding code reliability.
No case in Select
Mnemonic ONECASE
Description Every Select statement shall have at least one case clause.
Relaxed violation
Mnemonic RELAX
Description A rule violation is relaxed and justified.
Multiple exits are not allowed
Mnemonic RETURN
Description A function shall have a single point of exit at the end (see [MISRA-C:2004]: RULE 14.7).
Multiple Exit Do statement
Mnemonic SGLEXITDO
Description For any iteration statement there shall be at most one Exit statement used for loop termination.
Multiple Exit (Function, Sub or Property) statement
Mnemonic SGLEXITFCT
Description A Function, Sub or Property must have only one Exit statement.
Multiple Exit For statement
Mnemonic SGLEXITFOR
Description For any iteration statement there shall be at most one Exit statement used for loop termination.
Multiple Exit While statement
Mnemonic SGLEXITWHILE
Description For any iteration statement there shall be at most one Exit statement used for loop termination.
Andthen Operators
Mnemonic ANTH
Description Number of 'andthen' operators
Number of attributes
Mnemonic ATTR
Description Number of attributes.
Number of comment blocks
Mnemonic BCOM
Description Number of comment blocks.
Blank Lines
Mnemonic BLAN
Description Number of blank lines of code in the source file(s).
Break in Loop
Mnemonic BRKL
Description Number of 'break' statements in loop in the function
Break in Switch
Mnemonic BRKS
Description Number of 'break' statements in 'switch' in the function
Case Blocks
Mnemonic CABL
Description Number of 'case' blocks in 'switch' in the function
Case Labels
Mnemonic CASE
Description Number of 'case' labels in the function
Catch Statements
Mnemonic CATC
Description Number of 'catch' statements in the function
Cyclomatic Complexity
Mnemonic CCN
Description Number of linearly independent paths in the function control graph.
Control Flow Token
Mnemonic CFT
Description Number of tokens in the control flow of functions
Call Graph Depth
Mnemonic CGDM
Description Maximum depth of the call graph.
Comment Lines
Mnemonic CLOC
Description Number of lines of comments in the source file(s).
Continue Statements
Mnemonic CONT
Description Number of 'continue' statements in the function
Commented Statements
Mnemonic CSTAT
Description Number of Commented Statements.
Minimum Number of Cycles
Mnemonic CYCL
Description Minimum number of call graph cycles in which the function is involved (including recursivity).
Default Statement
Mnemonic DEFT
Description Number of 'default' blocks in 'switch' in the function
Distinct Operands
Mnemonic DOPD
Description Number of distinct operands: variables and constants ([Halstead,76]: n2)
Distinct Operators
Mnemonic DOPT
Description Number of distinct operators: language keywords ([Halstead,76]: n1)
Do While Statements
Mnemonic DOWH
Description Number of 'do...while' statements in the function
Else Statements
Mnemonic ELSE
Description Number of 'else' statements
Number of XML elements
Mnemonic ELT
Description Number of XML elements.
For Statements
Mnemonic FOR
Description Number of 'for' statements in the function
Structures Added
Mnemonic SADD
Description Number of control structures added since the previous version.
Structures Modified
Mnemonic SMOD
Description Number of control structures modified since the previous version.
Structures Removed
Mnemonic SREM
Description Number of control structures removed since the previous version.
Number of Structures
Mnemonic SSIZ
Description Number of control structures: iterations, selections, sequences
Goto Statements
Mnemonic GOTO
Description Number of 'goto' statements
Cloned Code
Mnemonic ICC
Description Duplicated code in this artefact
Cloned Control Flow Tokens
Mnemonic ICFTC
Description Number of duplicated tokens in control flow of functions
If Statements
Mnemonic IF
Description Number of 'if' statements
Line Count
Mnemonic LC
Description Number of lines.
Loop Statements
Mnemonic LOOP
Description Number of loop statements in the function
Maximum Nested Structures
Mnemonic NEST
Description Maximum number of nested structures
Number of Parameters
Mnemonic NOP
Description Number of formal parameters in the function
Non-Cyclic Paths
Mnemonic PATH
Description Number of non-cyclic paths in the function.
Orelse operators
Mnemonic OREL
Description Number of 'orelse' operators
Return Statements
Mnemonic RETURN
Description Number of 'return' statements in the function
Repeated Code Blocks
Mnemonic RS
Description Duplicated blocks in the function
Source Lines Of Code
Mnemonic SLOC
Description Number of lines of source code in the source file(s).
Executable Statements
Mnemonic STAT
Description Total number of executable statements.
Switch Statements
Mnemonic SWIT
Description Number of 'switch' statements in the function
Ternary operators
Mnemonic TERN
Description Number of ternary operators i.e. ?:
Number of text blocks
Mnemonic TEXT
Description Number of text blocks.
Throw Statements
Mnemonic THRO
Description Number of 'throw' statements in the function
Operand Occurrences
Mnemonic TOPD
Description Number of occurrences of operands: variables and constants ([Halstead,76]: N2)
Operator Occurrences
Mnemonic TOPT
Description Number of occurrences of operators: language keywords ([Halstead,76]: N1)
Try Statements
Mnemonic TRY
Description Number of 'try' statements in the function
Lines Added
Mnemonic LADD
Description Number of lines added since the previous version.
Lines Modified
Mnemonic LMOD
Description Number of lines modified since the previous version.
Lines Removed
Mnemonic LREM
Description Number of lines removed since the previous version.
While Statements
Mnemonic WHIL
Description Number of 'while' statements in the function
Missing Break
Mnemonic BRKFINAL
Description An unconditional break statement shall terminate every non-empty switch clause (see [MISRA-C:2004]: RULE 15.2).
Backward Goto shall not be used
Mnemonic BWGOTO
Description Backward gotos shall not be used.
Comment Before Paragraph
Mnemonic COMMENT
Description A comment shall introduce a section or a paragraph.
Missing compound statement
Mnemonic COMPOUND
Description The statement forming the body of a switch, while, do ... while or for statement shall be a compound statement (see [MISRA-C:2004]: RULE 14.8).
Missing compound if
Mnemonic COMPOUNDIF
Description An if (expression) construct shall be followed by a compound statement. The else keyword shall be followed by either a compound statement, or another if statement (see [MISRA-C:2004]: RULE 14.9).
Commented-out Source Code is not allowed
Mnemonic R_CSTAT
Description Commented-out Source Code is not allowed
Missing Default
Mnemonic DEFAULT
Description The final clause of a switch statement shall be the default clause (see [MISRA-C:2004]: RULE 15.3).
Missing final else
Mnemonic ELSEFINAL
Description All if ... else if constructs shall be terminated with an else clause (see [MISRA-C:2004]: RULE 14.10).
No Resources
Mnemonic FORBIDDEN_ELEMENT
Description Elements 'ResourceDictionary' are forbidden.
Resources Folder
Mnemonic IN_FOLDER
Description ResourceDictionary shall be in a 'Resources' directory
Assignment in Boolean
Mnemonic NOASGCOND
Description Assignment operators shall not be used in expressions that yield a boolean value
Assignment without Comparison
Mnemonic NOASGINBOOL
Description Assignment operators shall not be used in expressions that do not contain comparison operators.
Factorizable Classes
Mnemonic CAC_CL
Description Consider classes refactorization
Factorizable Files
Mnemonic CAC_FI
Description Consider files refactorization
Factorizable Functions
Mnemonic CAC_FN
Description Consider functions refactorization
Factorizable Packages
Mnemonic CAC_PKG
Description Consider packages refactorization
Cloned Classes
Mnemonic CC_CL
Description There shall be no duplicated classes
Cloned Files
Mnemonic CC_FI
Description There shall be no duplicated files
Cloned Functions
Mnemonic CC_FN
Description There shall be no duplicated functions
Cloned Algorithmic
Mnemonic CFTC_FN
Description There shall be no algorithmic cloning
There shall be a no code before first case
Mnemonic NOCODEBEFORECASE
Description There shall be a no code before the first case of a switch statement.
Continue shall not be used
Mnemonic NOCONT
Description The 'continue' statement shall not be used (see [MISRA-C:2004]: RULE 14.5).
Fallthrough shall be avoided
Mnemonic NOFALLTHROUGH
Description There shall be no fallthrough the next case in a switch statement.
FIXME shall not be commited in sources code
Mnemonic R_NOFIXME
Description FIXME shall not be commited in sources code as it brings confusion regarding code reliability.
GOTO shall not be used
Mnemonic NOGOTO
Description A unconditional GOTO shall not be used to jump outside the paragraph.
Label out a switch
Mnemonic NOLABEL
Description A switch label shall only be used when the most closely-enclosing compound statement is the body of a switch statement (see [MISRA-C:2004]: RULE 15.1).
Avoid Duplicated Blocks in Function
Mnemonic RS_FN
Description There shall be no duplicated parts in functions
TODO shall not be commited in sources code
Mnemonic R_NOTODO
Description TODO shall not be commited in sources code as it brings confusion regarding code reliability.
Missing case in switch
Mnemonic ONECASE
Description Every switch statement shall have at least one case clause (see [MISRA-C:2004]: RULE 15.5).
Relaxed violation
Mnemonic RELAX
Description A rule violation is relaxed and justified.
Resources Filename
Mnemonic RESOURCES_FILENAME
Description All XAML resources files shall be suffixed with 'Resources.xaml'
Multiple exits are not allowed
Mnemonic RETURN
Description A function shall have a single point of exit at the end (see [MISRA-C:2004]: RULE 14.7).
Risky Empty Statement
Mnemonic RISKYEMPTY
Description Risky Empty Statement
Multiple break in loop are not allowed
Mnemonic SGLBRK
Description For any iteration statement there shall be at most one 'break' statement used for loop termination (see [MISRA-C:2004]: RULE 14.6).
Table of Contents
The simplest method to analyse source code in Squore is to provide a path to a folder contining your code.
Remember that the path supplied for the analysis is a path local to the machine running the analysis, which may be different from your
local machine. If you analyse source code on your local machine and then send results to the server, you will not be able to view the
source code directly in Squore, since it will not have access to the source code on the other machine. A common workaround to
this problem is to use UNC paths (\\Server\Share
, smb://server/share
...) or a mapped server drive
in Windows.
This Repository Connector allows you to upload a zip file containing your sources to analyse. Select a file to upload in the project wizard and it will be extracted and analysed on the server.
The contents of the zip file are extracted into Squore Server's temp folder. If you want to uploaded files to persist, contact your Squore administrator so that the uploaded zip files and extracted sources are moved to a location that is not deleted at each server restart.
The Concurrent Versions System (CVS), is a client-server free software revision control system in the field of software development.
For more details, refer to http://savannah.nongnu.org/projects/cvs.
The following is a list of commands used by the CSV to retrieve sources:
cvs -d $repository export [-r $branch] $project
cvs -d $repository co -r $artefactPath -d $tmpFolder
CVS has the following options:
The full command line syntax for CVS is:
-r "type=CVS,repository=[text],project=[text],branch=[text]"
IBM Rational ClearCase is a software configuration management solution that provides version control, workspace management, parallel development support, and build auditing. The command executed on the server to check out source code is: $cleartool $view_root_path $view $vob_root_path.
For more details, refer to http://www-03.ibm.com/software/products/en/clearcase.
The ClearCase tool is configured for Linux by default. It is possible to make it work for Windows by editing the configuration file
ClearCase has the following options:
View root path ( view_root_path
, mandatory, default: /view) Specify the absolute path of the ClearCase view.
Vob Root Path ( vob_root_path
, mandatory, default: /projets) Specify the absolute path of the ClearCase vob.
View ( view
) Specify the label of the view to analyse sources from. If no view is specified, the current ClearCase view will be used automatically, as retrieved by the command cleartool pwv -s.
Server Display View ( server_display_view
) When viewing source code from the Explorer after building the project, this parameter is used instead of the view parameter specified earlier. Leave this field empty to use the same value as for view.
Sources Path ( sub_path
) Specify a path in the view to restrict the scope of the source code to analyse. The value of this field must not contain the vob nor the view. Leave this field empty to analyse the code in the entire view. This parameter is only necessary if you want to restrict to a directory lower than root.
The full command line syntax for ClearCase is:
-r "type=ClearCase,view_root_path=[text],vob_root_path=[text],view=[text],server_display_view=[text],sub_path=[text]"
The Perforce server manages a central database and a master repository of file versions. Perforce supports both Git clients and clients that use Perforce's own protocol.
For more details, refer to http://www.perforce.com/.
The Perforce repository connector assumes that the specified depot exists on the specified Perforce server, that can access this depot and that the Perforce user defined has the right to access it. The host where the analysis takes place must have a Perforce command-line client (p4) installed and fully functional. The P4PORT environment variable is not read by . You have to set it in the form. The path to the p4 command can be configured in the perforce_conf.tcl file located in the configuration/repositoryConnectors/Perforce folder. The following is a list of commands used by the Perforce to retrieve sources:
p4 -p $p4port [-u username] [-P password] client -i <$tmpFolder/p4conf.txt
p4 -p $p4port [-u username] [-P password] -c $clientName sync "$depot/...@$label"
p4 -p $p4port [-u username] [-P password] client -d $clientName
p4 -p $p4port [-u username] [-P password] print -q -o $outputFile $artefactPath
The format of the p4conf.txt file is:
Client: $clientName Root: $tmpFolder Options: noallwrite noclobber nocompress unlocked nomodtime normdir SubmitOptions: submitunchanged view: $depot/... //$clientName/...
Perforce has the following options:
P4PORT ( p4port
, mandatory) Specify the value of P4PORT using the format [protocol:]host:port (the protocol is optional). This parameter is necessary even if you have specified an environment variable on the machine where the analysis is running.
Depot ( depot
, mandatory) Specify the name of the depot (and optionnally subforders) containing the sources to be analysed.
Revision ( label
) Specify a label, changelist or date to retrieve the corresponding revision of the sources. Leave this field empty to analyse the most recent revision fo the sources.
Authentication ( useAccountCredentials
, default: NO_CREDENTIALS)
The full command line syntax for Perforce is:
-r "type=Perforce,p4port=[text],depot=[text],label=[text],useAccountCredentials=[multipleChoice],username=[text],password=[password]"
Git is a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency.
For more details, refer to http://git-scm.com/.
The following is a list of commands used by the Git to retrieve sources:
git clone [$username:$password@]$url $tmpFolder
git checkout $commit
git log -1 "--format=%H"
git config --get remote.origin.url
git clone [$username:$password@]$url $tmpFolder
git checkout $commit
git fetch
git --git-dir=$gitRoot show $artefactPath
Git has the following options:
URL ( url
, mandatory) URL of the git repository to get files from. The local, HTTP(s), SSH and Git protocols are supported.
Branch or commit ( commit
) This field allows specifying the SHA1 of a commit or a branch name. If a SHA1 is specified, it will be retieved from the default branch. If a branch label is specified, then its latest commit is analysed. Leave this field empty to analyse the latest commit of the default branch.
Sub-directory ( subDir
) Specify a subfolder name if you want to restrict the analysis to a subpath of the repository root.
Authentication ( useAccountCredentials
, default: NO_CREDENTIALS)
The full command line syntax for Git is:
-r "type=Git,url=[text],commit=[text],subDir=[text],useAccountCredentials=[multipleChoice],username=[text],password=[password]"
This Repository Connector allows analysing sources hosted in PTC Integrity, a software system lifecycle management and application lifecycle management platform developed by PTC.
For more details, refer to http://www.ptc.com/products/integrity/.
You can modify some of the settings of this repository connector if the si.exe and mksAPIViewer.exe binaries are not in your path. For versions that do not support the --xmlapi option, you can also turn off this method of retrieving file information. These settings are available by editing mks_conf.tcl in the repository connector's configuration folder.
PTC Integrity has the following options:
Server Hostname ( hostname
, mandatory) Specify the name of the Integrity server. This value is passed to the command line using the parameter --hostname.
Port ( port
) Specify the port used to connect to the Integrity server. This value is passed to the command line using the parameter --port.
Project ( project
) Specify the name of the project containing the sources to be analysed. This value is passed to the command line using the --project parameter.
Revision ( revision
) Specify the revision number for the sources to be analysed. This value is passed to the command line using the --projectRevision parameter.
Scope ( scope
, default: name:*.c,name:*.h) Specifies the scope (filter) for the Integrity sandbox extraction. This value is passed to the command line using the --scope parameter.
Authentication ( useAccountCredentials
, default: NO_CREDENTIALS)
The full command line syntax for PTC Integrity is:
-r "type=MKS,hostname=[text],port=[text],project=[text],revision=[text],scope=[text],useAccountCredentials=[multipleChoice],username=[text],password=[password]"
Team Foundation Server (TFS) is a Microsoft product which provides source code management, reporting, requirements management, project management, automated builds, lab management, testing and release management capabilities. This Repository Connector provides access to the sources hosted in TFS's revision control system.
For more details, refer to https://www.visualstudio.com/products/tfs-overview-vs.
The TFS repository connector (Team Foundation Server - Team Foundation Version Control) assumes that a TFS command-line client (Visual Studio Client or Team Explorer Everywhere) is installed on the server and fully functional. The configuration of this client must be set up in the tfs_conf.tcl file. The repository connector form must be filled according to the TFS standard (eg. the Project Path must begin with the '$' character...). Note that this repository connector works with a temporary workspace that is deleted at the end of the analysis. The following is a list of commands used by the TFS to retrieve sources:
tf.exe workspace [/login:$username,$password] /server:$url /noprompt /new $workspace
tf.exe workfold [/login:$username,$password] /map $path $tempFolder /workspace:$workspace
tf.exe get [/login:$username,$password] /version:$version /recursive /force $path
tf.exe workspace [/login:$username,$password] /delete $workspace
tf.exe view [/login:$username,$password] /server:$artefactPath
When using the Java Team Explorer Everywhere client, / is replaced by - and the view command is replaced by print.
TFS has the following options:
Path ( path
, mandatory) Path the project to be analysed. This path usually starts with $.
Version ( version
) Specify the version of the sources to analyse. This field accepts a changeset number, date, or label. Leave the field empty to analyse the most recent revision of the sources.
Authentication ( useAccountCredentials
, default: NO_CREDENTIALS)
The full command line syntax for TFS is:
-r "type=TFS,URL=[text],path=[text],version=[text],useAccountCredentials=[multipleChoice],username=[text],password=[password]"
Rational Synergy is a software tool that provides software configuration management (SCM) capabilities for all artifacts related to software development including source code, documents and images as well as the final built software executable and libraries.
For more details, refer to http://www-03.ibm.com/software/products/en/ratisyne.
The Synergy repository connector assumes that a project already exists and that the Synergy user defined has the right to access it. The host where the analysis takes place must have Synergy installed and fully functional. Note that, as stated in IBM's documentation on http://pic.dhe.ibm.com/infocenter/synhelp/v7m2r0/index.jsp?topic=%2Fcom.ibm.rational.synergy.manage.doc%2Ftopics%2Fsc_t_h_start_cli_session.html, using credentials is only supported on Windows, so use the NO_CREDENTIALS option when Synergy runs on a Linux host. The following is a list of commands used by the Synergy to retrieve sources:
ccm start -d $db -nogui -m -q [-s $server] [-pw $password] [-n $user -pw password]
ccm prop "$path@$projectSpec"
ccm copy_to_file_system -path $tempFolder -recurse $projectSpec
ccm cat "$artefactPath@$projectSpec"
ccm stop
Synergy has the following options:
Server URL ( server
) Specify the Synergy server URL, if using a distant server. If specified, the value is used by the Synergy client via the -s parameter.
Database ( db
, mandatory) Specify the database path to analyse the sources it contains.
Project Specification ( projectSpec
, mandatory) Specify the project specification for the analysis. Source code contained in this project specification will be analysed recursively.
Subfolder ( subFolder
) Specify a subfolder name if you want to restrict the scope of the analysis to a particular folder.
Authentication: ( useAccountCredentials
, default: NO_CREDENTIALS) Note that, as stated in IBM's documentation, using credentials is only supported on Windows. The "No Credentials" must be used option when Synergy runs on a Linux host. For more information, consult http://pic.dhe.ibm.com/infocenter/synhelp/v7m2r0/index.jsp?topic=%2Fcom.ibm.rational.synergy.manage.doc%2Ftopics%2Fsc_t_h_start_cli_session.html.
The full command line syntax for Synergy is:
-r "type=Synergy,server=[text],db=[text],projectSpec=[text],subFolder=[text],useAccountCredentials=[multipleChoice],name=[text],password=[password]"
Connecting to an SVN server is supported using svn over ssh, or by using a username and password.
For more details, refer to https://subversion.apache.org/.
The following is a list of commands used by the SVN to retrieve sources (you can edit the common command base or the path to the executable in /repositoryConnectors/SVN/svn_conf.tcl
if needed):
svn info --xml --non-interactive --trust-server-cert --no-auth-cache [--username $username] [--password $password] [-r $revision] $url
svn export --force --non-interactive --trust-server-cert --no-auth-cache [--username $username] [--password $password] [-r $revision] $url
SVN has the following options:
URL ( url
, mandatory) Specify the URL of the SVN repository to export and analyse. The following protocols are supported: svn://, svn+ssh://, http://, https://.
Revision ( rev
) Specify a revision number in this field, or leave it blank to analyse files at the HEAD revision.
External references ( externals
, default: exclude) Specify if when extracting sources from SVN the system should also extract external references.
Authentication ( useAccountCredentials
, default: NO_CREDENTIALS)
The full command line syntax for SVN is:
-r "type=SVN,url=[text],rev=[text],externals=[multipleChoice],useAccountCredentials=[multipleChoice],username=[text],password=[password]"
Squore allows using multiple repositories in the same analysis. If your project consists of some code that is spread over two distinct servers or SVN repositories, you can set up your project so that it includes both locations in the project analysis. This is done by labelling each source code node before specifying parameters, as shown below
-r "type=FROMPATH,alias=Node1,path=/home/projects/client-code" -r "type=FROMPATH,alias=Node2,path=/home/projects/common/lib"
Note that only alpha-numeric characters are allowed to be used as labels. In the artefact tree, each node will appear as a separate top-level folder with the label provided at project creation.
Using multiple nodes, you can also analyse sources using different Repository Connectors in the same analysis:
-r "type=FROMPATH,alias=Node1,path=/home/projects/common-config" -r "type=SVN,alias=Node2,url=svn+ssh://10.10.0.1/var/svn/project/src,rev=HEAD"
Input files for Squore's Data Providers, like source code, can be located in your version control system. When this is the case, you need to specify a variable in the input field for the Data Provider instead of an absolute path to the input file.
The variable to use varies depending on your scenario:
You have only one node of source code in your project
In this case, the variable to use is $src.
You have more than one node of source code in your project
In this case, you need to tell Squore in which node the input file is located. This is done using a variable that has the same name as the alias you defined for the source code node in the previous step of the wizard. For example, if your nodes are labelled Node1
and Node2
(the default names), then you can refer to them using the $Node1 and $Node2 variables.
When using these variables from the command line on a linux system, the $ symbol must be escaped:
-d "type=PMD,configFile=\$src/pmd_data.xml"
Table of Contents
This chapter describe the available Data Providers and the default parameters that they accept via the Command Line Interface.
AntiC is a part of the jlint static analysis suite and is launched to analyse C and C++ source code and produce findings.
For more details, refer to http://jlint.sourceforge.net/.
On Linux, the antiC executable must be compiled manually before you run it for the first time by running the command:
# cd /addons/tools/Antic_auto/bin/ && gcc antic.c -o antic
Automotive Coverage Import: generic import mechanism for coverage results at FUNCTION level
Automotive Coverage Import has the following options:
The full command line syntax for Automotive Coverage Import is:
-d "type=Automotive_Coverage,csv=[text]"
BullseyeCoverage is a code coverage analyzer for C++ and C. The coverage report file is used to generate metrics.
For more details, refer to http://www.bullseye.com/.
CPD is an open source tool which generates Copy/Paste metrics. The dectection of duplicated blocks is set to 100 tokens. CPD provides an XML file which can be imported to generate metrics as well as findings.
For more details, refer to http://pmd.sourceforge.net/pmd-5.3.0/usage/cpd-usage.html.
Cppcheck is a static analysis tool for C/C++ applications. The tool provides an XML output which can be imported to generate findings.
For more details, refer to http://cppcheck.sourceforge.net/.
Cppcheck is a static analysis tool for C/C++ applications. The tool provides an XML output which can be imported to generate findings.
For more details, refer to http://cppcheck.sourceforge.net/.
On Windows, this data provider requires an extra download to extract the Cppcheck binary in /addons/tools/CPPCheck_auto/
. On Linux, you can install the cppcheck application anywhere you want. The path to the Cppcheck binary for Linux can be configured in config.tcl.
Cppcheck (plugin) has the following options:
The full command line syntax for Cppcheck (plugin) is:
-d "type=CPPCheck_auto,dir=[text]"
Parasoft C/C++test is an integrated solution for automating a broad range of best practices proven to improve software development team productivity and software quality for C and C++. The tool provides an XML output file which can be imported to generate findings and metrics.
For more details, refer to http://www.parasoft.com/product/cpptest/.
Cantata is Test Coverage tools. It provides an XML output which can be imported to generate coverage metrics at function level.
For more details, refer to http://www.qa-systems.com/cantata.html.
CheckStyle is an open source tool that verifies that Java applications adhere to certain coding standards. It produces an XML file which can be imported to generate findings.
For more details, refer to http://checkstyle.sourceforge.net/.
CheckStyle is an open source tool that verifies that Java applications adhere to certain coding standards. It produces an XML file which can be imported to generate findings.
For more details, refer to http://checkstyle.sourceforge.net/.
This data provider requires an extra download to extract the CheckStyle binary in /addons/tools/CheckStyle_auto/
.
CheckStyle (plugin) has the following options:
Configuration file ( configFile
) A Checkstyle configuration specifies which modules to plug in and apply to Java source files. Modules are structured in a tree whose root is the Checker module. Specify the name of the configuration file only, and the data provider will try to find it in the CheckStyle_auto folder of your custom configuration. If no custom configuration file is found, a default configuration will be used.
Xmx ( xmx
, default: 1024m) Maximum amount of memory allocated to the java process launching Checkstyle.
Excluded directory pattern ( excludedDirectoryPattern
) Java regular expression of directories to exclude from CheckStyle, for example: ^test|generated-sources|.*-report$ or ou ^lib$
The full command line syntax for CheckStyle (plugin) is:
-d "type=CheckStyle_auto,configFile=[text],xmx=[text],excludedDirectoryPattern=[text]"
CheckStyle is an open source tool that verifies that Java applications adhere to certain coding standards. It produces an XML file which can be imported to generate findings.
For more details, refer to http://checkstyle.sourceforge.net/.
This data provider requires an extra download to extract the CheckStyle binary in /addons/tools/CheckStyle_auto_for_SQALE/
.
CheckStyle for SQALE (plugin) has the following options:
Configuration file ( configFile
, default: config_checkstyle_for_sqale.xml) A Checkstyle configuration specifies which modules to plug in and apply to Java source files. Modules are structured in a tree whose root is the Checker module. Specify the name of the configuration file only, and the data provider will try to find it in the CheckStyle_auto folder of your custom configuration. If no custom configuration file is found, a default configuration will be used.
Xmx ( xmx
, default: 1024m) Maximum amount of memory allocated to the java process launching Checkstyle.
The full command line syntax for CheckStyle for SQALE (plugin) is:
-d "type=CheckStyle_auto_for_SQALE,configFile=[text],xmx=[text]"
Cobertura is a free code coverage library for Java. Its XML report file can be imported to generate code coverage metrics for your Java project.
For more details, refer to http://cobertura.github.io/cobertura/.
Codesonar is a static analysis tool for C and C++ code designed for zero tolerance defect environments. It provides an XML output file which is imported to generate findings.
For more details, refer to http://www.grammatech.com/codesonar.
Compiler Warning impor allows to import information from compiler
For more details, refer to Compiler.
Coverity is a static analysis tool for C, C++, Java and C#. It provides an XML output which can be imported to generate findings.
For more details, refer to http://www.coverity.com/.
Findbugs is an open source tool that looks for bugs in Java code. It produces an XML result file which can be imported to generate findings.
For more details, refer to http://findbugs.sourceforge.net/.
Findbugs is an open source tool that looks for bugs in Java code. It produces an XML result file which can be imported to generate findings. Note that the data provider requires an extra download to extract the Findbugs binary in [INSTALLDIR]/addons/tools/Findbugs_auto/. You are free to use FindBugs 3.0 or FindBugs 2.0 depending on what your standard is. For more information, refer to the Installation and Administration Manual's "Third-Party Plugins and Applications" section.
For more details, refer to http://findbugs.sourceforge.net/.
This data provider requires an extra download to extract the Findbugs binary in /addons/tools/Findbugs_auto/
.
FindBugs (plugin) has the following options:
Classes ( class_dir
, mandatory) Specify the folders and/or jar files for your project in classpath format, or point to a text file that contains one folder or jar file per line.
Auxiliary Class path ( auxiliarypath
) Specify a list of folders and/or jars in classpath format, or specify the path to a text file that contains one folder or jar per line. This information will be passed to FindBugs via the -auxclasspath parameter.
Memory Allocation ( xmx
, default: 1024m) Maximum amount of memory allocated to the java process launching FindBugs.
The full command line syntax for FindBugs (plugin) is:
-d "type=Findbugs_auto,class_dir=[text],auxiliarypath=[text],xmx=[text]"
FxCop is an application that analyzes managed code assemblies (code that targets the .NET Framework common language runtime) and reports information about the assemblies, such as possible design, localization, performance, and security improvements. FxCop generates an XML results file which can be imported to generate findings.
For more details, refer to https://msdn.microsoft.com/en-us/library/bb429476(v=vs.80).aspx.
GCov is a Code coverage program for C application. GCov generates raw text files which can be imported to generate metrics.
For more details, refer to http://gcc.gnu.org/onlinedocs/gcc/Gcov.html.
GCov has the following options:
The full command line syntax for GCov is:
-d "type=GCov,dir=[text],ext=[text]"
GNATcheck is an extensible rule-based tool that allows developers to completely define a coding standard. The results are output to a log file that can be imported to generate findings.
For more details, refer to http://www.adacore.com/gnatpro/toolsuite/gnatcheck/.
GNATCompiler is a free-software compiler for the Ada programming language which forms part of the GNU Compiler Collection. It supports all versions of the language, i.e. Ada 2012, Ada 2005, Ada 95 and Ada 83. It creates a log file that can be imported to generate findings.
For more details, refer to http://www.adacore.com/gnatpro/toolsuite/compilation/.
JUnit is a simple framework to write repeatable tests. It is an instance of the xUnit architecture for unit testing frameworks. JUnit XML result files are imported to generate findings and the total number of tests is made available as a measure.
For more details, refer to http://junit.org/.
JUnit has the following options:
The full command line syntax for JUnit is:
-d "type=JUnit,resultDir=[text]"
JaCoCo is a free code coverage library for Java. Its XML report file can be imported to generate code coverage metrics for your Java project.
For more details, refer to http://www.eclemma.org/jacoco/.
JaCoCo has the following options:
The full command line syntax for JaCoCo is:
-d "type=Jacoco,xml=[text]"
Klocwork is a static analysis tool. Its XML result file can be imported to generate findings.
For more details, refer to http://www.klocwork.com.
The Logiscope suite allows the evaluation of source code quality in order to reduce maintenance cost, error correction or test effort. It can be applied to verify C, C++, Java and Ada languages and produces a CSV results file that can be imported to generate findings.
For more details, refer to http://www.kalimetrix.com/en/logiscope.
NCover is a Code coverage program for C# application. NCover generates an XML results file which can be imported to generate metrics.
For more details, refer to http://www.ncover.com/.
This data provider reads an Oracle compiler log file and imports the warnings as findings. Findings extracted from the log file are filtered using a prefix parameter.
For more details, refer to http://www.oracle.com/.
Oracle PLSQL compiler Warning checker has the following options:
Prefixes ( prefix
) Prefixes and their replacements are specified as pairs using the syntax [prefix1|node1;prefix2|node2]. Leave this field empty to disable filtering.
The parsing algorithm looks for lines fitting this pattern:
[PATH;SCHEMA;ARTE_ID;ARTE_TYPE;LINE;COL;SEVERITY_TYPE;WARNING_ID;SEVERITY_ID;DESCR] and keeps lines where [PATH] begins with one of the input prefixes. In each kept [PATH], [prefix] is replaced by [node]. If [node] is empty, [prefix] is removed from [PATH], but not replaced. Some valid syntaxes for prefix:
One prefix to remove: svn://aaaa:12345/valid/path/from/svn
One prefix to replace: svn://aaaa:12345/valid/path/from/svn|node1
Two prefixes to remove: svn://aaaa:12345/valid/path/from/svn|;svn://bbbb:12345/valid/path/from/other_svn|
Two prefixes to remove: svn://aaaa:12345/valid/path/from/svn;svn://bbbb:12345/valid/path/from/other_svn
Two prefixes to replace: svn://aaaa:12345/valid/path/from/svn|node1;svn://bbbb:12345/valid/path/from/other_svn|node2
The full command line syntax for Oracle PLSQL compiler Warning checker is:
-d "type=Oracle_PLSQLCompiler,log=[text],prefix=[text]"
PC-lint is a static code analyser. The PC-lint data provider reads an PC-lint log file and imports MISRA violations as findings.
For more details, refer to http://www.gimpel.com/html/pcl.htm.
MISRA Rule Checking using PC-lint has the following options:
The full command line syntax for MISRA Rule Checking using PC-lint is:
-d "type=PC_Lint_MISRA,logDir=[text],excludedExtensions=[text]"
PMD scans Java source code and looks for potential problems like possible bugs, dead code, sub-optimal code, overcomplicated expressions, duplicate code... The XML results file it generates is read to create findings.
For more details, refer to http://pmd.sourceforge.net.
PMD scans Java source code and looks for potential problems like possible bugs, dead code, sub-optimal code, overcomplicated expressions, duplicate code ... The XML results file it generates is read to create findings.
For more details, refer to http://pmd.sourceforge.net.
This data provider requires an extra download to extract the PMD binary in /addons/tools/PMD_auto/
.
PMD (plugin) has the following options:
The full command line syntax for PMD (plugin) is:
-d "type=PMD_auto,configFile=[text]"
Polyspace is a static analysis tool which includes a MISRA checker. It produces an XML output which can be imported to generate findings. Polyspace Verifier detects RTE (RunTime Error) such as Division by zero, Illegal Deferencement Pointer, Out of bound array index... Such information is turned into statistical measures at function level. Number of Red (justified/non-justified), Number of Grey (justified/non-justified), Number of Orange (justified/non-justified), Number of Green.
For more details, refer to http://www.mathworks.com/products/polyspace/index.html.
Polyspace is a static analysis tool which includes a MISRA checker. It produces an XML output which can be imported to generate findings. Polyspace Verifier detects RTE (RunTime Error) such as Division by zero, Illegal Deferencement Pointer, Out of bound array index... Such information is turned into statistical measures at function level. Number of Red (justified/non-justified), Number of Grey (justified/non-justified), Number of Orange (justified/non-justified), Number of Green.
For more details, refer to http://www.mathworks.com/products/polyspace/index.html.
Polyspace MISRA has the following options:
Results folder ( resultDir
) Specify the folder containing the Polyspace results. The data provider will parse all sub-folders searching for XML result files called "MISRA-CPP-report.xml" or "MISRA-C-report.xml" located in a "Polyspace-Doc" folder and aggregate results.
Unit by Unit ( unitByUnit
, default: true) Check this box if the Polyspace verification was run unit by unit.
The full command line syntax for Polyspace MISRA is:
-d "type=Polyspace_MISRA,resultDir=[text],unitByUnit=[booleanChoice]"
Polyspace is a static analysis tool which includes a MISRA checker. It produces an binary output format which can be imported to generate findings. Polyspace Verifier detects RTE (RunTime Error) such as Division by zero, Illegal Deferencement Pointer, Out of bound array index... Such information is turned into statistical measures at function level. Number of Red (justified/non-justified), Number of Grey (justified/non-justified), Number of Orange (justified/non-justified), Number of Green. Note that this data provider requires an extra download to extract the Polyspace Export binary in [INSTALLDIR]/addons/tools/Polyspace_RTE/. For more information, refer to the Installation and Administration Manual's "Third-Party Plugins and Applications" section.
For more details, refer to http://www.mathworks.com/products/polyspace/index.html.
This data provider requires an extra download to extract the Polyspace Export binary in /addons/tools/Polyspace_RTE
.
Polyspace (plugin) has the following options:
Results folder ( resultDir
) Specify the folder containing the Polyspace results. The data provider will run the polyspace-export binary on all sub-folders to export results to XML and aggregate them.
Unit by Unit ( unitByUnit
, default: true) Check this box if the Polyspace verification was run unit by unit.
The full command line syntax for Polyspace (plugin) is:
-d "type=Polyspace_RTE,resultDir=[text],unitByUnit=[booleanChoice]"
QAC identifies problems in C source code caused by language usage that is dangerous, overly complex, non-portable, difficult to maintain, or simply diverges from coding standards. Its CSV results file can be imported to generate findings.
For more details, refer to http://www.phaedsys.com/principals/programmingresearch/pr-qac.html.
MISRA Rule Checking with QAC has the following options:
Code Folder ( logDir
) Specify the path to the folder that contains the annotated files to process.
For the findings to be successfully linked to their corresponding artefact, several requirements have to be met:
- The annotated file name should be [Original source file name].txt
e.g. The annotation of file "controller.c" should be called "controller.c.txt"
- The annotated file location in the annotated directory should match the associated source file location in the source directory.
e.g. The annotation for source file "[SOURCE_DIR]/subDir1/subDir2/controller.c" should be located in "[ANNOTATIONS_DIR]/subDir1/subDir2/controller.c.txt"
The previous comment suggests that the source and annotated directory are different.
However, these directories can of course be identical, which ensures that locations of source and annotated files are the same.
Extension ( ext
, default: html) Specify the extension used by QAC to create annotated files.
The full command line syntax for MISRA Rule Checking with QAC is:
-d "type=QAC_MISRA,logDir=[text],ext=[text]"
Rational Test RealTime is a cross-platform solution for component testing and runtime analysis of embedded software. Metrics are generated from its CSV results file.
For more details, refer to http://www-01.ibm.com/software/awdtools/test/realtime/.
Unit Test Code Coverage from Rational Test RealTime has the following options:
The full command line syntax for Unit Test Code Coverage from Rational Test RealTime is:
-d "type=RTRT,logDir=[text],excludedExtensions=[text]"
RIF/ReqIF (Requirements Interchange Format) is an XML file format that can be used to exchange requirements, along with its associated metadata, between software tools from different vendors.
For more details, refer to http://www.omg.org/spec/ReqIF/.
ReqIF has the following options:
The full command line syntax for ReqIF is:
-d "type=ReqIf,dir=[text],objType=[text]"
SQL Code Guard is a free solution for SQL Server that provides fast and comprehensive static analysis for T-Sql code, shows code complexity and objects dependencies.
For more details, refer to http://www.sqlcodeguard.com.
Squan Sources provides basic-level analysis of your source code.
For more details, refer to http://www.squoring.com.
The analyser can output info and warning messages in the build logs. Recent additions to those logs include better handling of structures in C code, which will produce these messages:
[Analyzer] Unknown syntax declaration for function XXXXX at line yyy to indicate that we whould have found a function but, probably due to preprocessing directives, we are not able to parse it.
[Analyzer] Unbalanced () blocks found in the file. Probably due to preprocessing directives, parenthesis in the file are not well balanced.
[Analyzer] Unbalanced {} blocks found in the file. Probably due to preprocessing directives, curly brackets in the file are not well balanced.
You can specify the languages for your source code by passing pairs of language and extensions to the languages paramater. For example, a project mixing php and javascript files can be analysed with:
--dp "type=SQuORE,languages=php:.php;javascript:.js,.JS"
Squan Sources has the following options:
Languages ( languages
, default: abap;ada;c;cpp;mindc;csharp;cobol;java;javascript;fortran77;fortran90;php;s...) Check the boxes for the languages used in the specified source repositories. Adjust the list of file extensions as necessary. Note that two languages cannot use the same file extension, and that the list of extensions is case-sensitive. Tip: Leave all the boxes unchecked and Squan Sources will auto-detect the language parser to use.
Force full analysis ( rebuild_all
, default: false) Analyses are incremental by default. Check this box if you want to force the source code parser to analyse all files instead of only the ones that have changed since the previous analysis. This is useful if you added new rule files or text parsing rules and you want to re-evaluate all files based on your modifications.
Generate control graphs ( genCG
, default: true) This option allows generating a control graph for every function in your code. The control graph is visible in the dashboard of the function when the analysis completes.
Use qualified names ( qualified
, default: false) Note: This option cannot be modified in subsequent runs after you create the first version of your project.
Limit analysis depth ( depth
, default: false) Use this option to limit the depth of the analysis to file-level only. This means that Squan Sources will not create any class or function artefacts for your project.
Add a 'Source Code' node ( scnode
, default: false) Using this options groups all source nodes under a common source code node instead of directly under the APPLICATION node. This is useful if other data providers group non-code artefacts like tests or requirements together under their own top-level node. This option can only be set when you create a new project and cannot be modified when creating a new version of your project.
'Source Code' node label ( scnode_name
, default: Source Code) Specify a custom label for your main source code node. Note: this option is not modifiable. It only applies to projects where you use the "Add a 'Source Code' node" option. When left blank, it defaults to "Source Code".
Compact folders ( compact_folder
, default: true) When using this option, folders with only one son are aggregates together. This avoids creating many unnecessary levels in the artefact tree to get to the first level of files in your project. This option cannot be changed after you have created the first version of your project.
Content exclusion via regexp ( pattern
) Specify a PERL regular expression to automatically exclude files from the analysis if their contents match the regular expression. Leave this field empty to disable content-based file exclusion.
File Filtering ( files_choice
, default: Exclude) Specify a pattern and an action to take for matching file names. Leave the pattern empty to disable file filtering.
pattern ( pattern_files
) Use a shell-like wildcard e.g. '*-test.c'. * Matches any sequence of characters in string, including a null string.
? Matches any single character in string.
[chars] Matches any character in the set given by chars. If a sequence of the form x-y appears in chars, then any character between x and y, inclusive, will match. On Windows, this is used with the -nocase option, meaning that the end points of the range are converted to lower case first. Whereas {[A-z]} matches '_' when matching case-sensitively ('_' falls between the 'Z' and 'a'), with -nocase this is considered like {[A-Za-z]}.
\x Matches the single character x. This provides a way of avoiding the special interpretation of the characters *?[] in pattern. Tip: Use ; to separate multiple patterns.
Folder Filtering ( dir_choice
, default: Exclude) Specify a pattern and an action to take for matching folder names. Leave the pattern empty to disable folder filtering.
pattern ( pattern_dir
) Use a shell-like wildcard e.g. 'Test_*'. * Matches any sequence of characters in string, including a null string.
? Matches any single character in string.
[chars] Matches any character in the set given by chars. If a sequence of the form x-y appears in chars, then any character between x and y, inclusive, will match. On Windows, this is used with the -nocase option, meaning that the end points of the range are converted to lower case first. Whereas {[A-z]} matches '_' when matching case-sensitively ('_' falls between the 'Z' and 'a'), with -nocase this is considered like {[A-Za-z]}.
\x Matches the single character x. This provides a way of avoiding the special interpretation of the characters *?[] in pattern. Tip: Use ; to separate multiple patterns.
Detect algorithmic cloning ( clAlg
, default: true) When checking this box, Squan Sources launches a cloning detection tool capable of finding algorithmic cloning in your code.
Detect text cloning ( clTxt
, default: true) When checking this box, Squan Sources launches a cloning detection tool capable of finding text duplication in your code.
Backwards-compatible cloning ( clBw
, default: false) When checking this box, the cloning detection tool is run in a way that produces metrics that are backwards-compatible with earlier versions of this product (2014-A): exact matching is used for algorithmic cloning and a 5% margin is used for text duplication. This legacy behaviour should only be used if you are using an old configuration that was developed before 2014-B.
Cloning fault ratio ( clFR
, default: 0.1) This threshold defines how much cloning between two artefacts is necessary for them to be considered as clones by the cloning detection tool. For example, a fault ratio of 0.1 means that two artefacts are considered clones if less than 10% of their contents differ. Note that this option is ignored if you are using backwards-compatible cloning.
Detect Open Source cloning (deprecated) ( clOS
, default: false) This option is no longer supported and should not be used anymore.
Compute Textual stability ( genTs
, default: true) This option allows keeping track of the stability of the code analysed for each version. The computed stability is available on the dashboard as a metric called and can be interpreted as 0% meaning completely changed and 100% meaning not changed at all.
Compute Algorithmic stability ( genAs
, default: true) This option allows keeping track of the stability of the code analysed for each version. The computed stability is available on the dashboard as a metric called Stability Index (SI) and can be interpreted as 0% meaning completely changed and 100% meaning not changed at all.
Detect artefact renaming ( clRen
, default: true) This option allows Squan Sources to detect artefacts that have been moved since the previous version, ensuring that the stability metrics of the previous artefact are passed to the new one. This is typically useful if you have moved a file to a different folder in your source tree and do not want to lose the previous metrics generated for this file. If you do not use this option, moved artefacts will be considered as new artefacts.
Additional parameters ( additional_param
) These additional parameters can be used to pass instructions to external processes started by this data provider. This value is generally left empty in most cases.
The full command line syntax for Squan Sources is:
-d "type=SQuORE,languages=[multipleChoice],rebuild_all=[booleanChoice],genCG=[booleanChoice],qualified=[booleanChoice],depth=[booleanChoice],scnode=[booleanChoice],scnode_name=[text],compact_folder=[booleanChoice],pattern=[text],files_choice=[multipleChoice],pattern_files=[text],dir_choice=[multipleChoice],pattern_dir=[text],clAlg=[booleanChoice],clTxt=[booleanChoice],clBw=[booleanChoice],clFR=[text],clOS=[booleanChoice],genTs=[booleanChoice],genAs=[booleanChoice],clRen=[booleanChoice],additional_param=[text]"
Squore Import is a data provider used to import the results of another data provider analysis. It is generally only used for debugging purposes.
For more details, refer to http://www.squoring.com.
Squore Virtual Project is a data provider that can use the output of several projects to compile metrics in a meta-project composed of the import sub-projects.
For more details, refer to http://www.squoring.com.
Squore Virtual Project has the following options:
The full command line syntax for Squore Virtual Project is:
-d "type=SQuOREVirtualProject,output=[text]"
StyleCop is a C# code analysis tool. Its XML output is imported to generate findings.
For more details, refer to https://stylecop.codeplex.com/.
StyleCop is a C# code analysis tool. Its XML output is imported to generate findings.
For more details, refer to https://stylecop.codeplex.com/.
Note that this data provider is not supported on Linux. On windows, this data provider requires an extra download to extract the StyleCop binary in /addons/tools/StyleCop_auto/
.
Tessy is a tool automating module/unit testing of embedded software written in dialects of C/C++. Tessy generates an XML results file which can be imported to generate metrics. This data provider supports importing files that have a xml_version="1.0" attribute in their header.
For more details, refer to https://www.hitex.com/en/tools/tessy/.
Tessy has the following options:
The full command line syntax for Tessy is:
-d "type=Tessy,resultDir=[text]"
CodeSniffer is a rulecker for PHP and Javascript
For more details, refer to http://www.squizlabs.com/php-codesniffer.
Use this tool to check for duplicated files or XML Elements between a custom configuration and the standard configuration.
Csv Coverage Import has the following options:
The full command line syntax for Csv Coverage Import is:
-d "type=csv_coverage,csv=[text]"
CSV Findings has the following options:
The full command line syntax for CSV Findings is:
-d "type=csv_findings,csv=[text]"
OSLC-CM allows retrieving information from Change Management systems following the OSLC standard. Metrics and artefacts are created by connecting to the OSLC system and retrieving issues with the specified query.
For more details, refer to http://open-services.net/.
OSLC has the following options:
Change Server ( server
) Specify the URL of the project you want to query on the OSLC server. Typically the URL will look like this: http://myserver:8600/change/oslc/db/3454a67f-656ddd4348e5/role/User/
Query ( query
) Specify the query to send to the OSLC server (e.g.: release="9TDE/TDE_00_01_00_00"). It is passed to the request URL via the ?oslc_cm.query= parameter.
Query Properties ( properties
, default: request_type,problem_number,crstatus,severity,submission_area,functionality...) Specify the properties to add to the query. They are passed to the OSLC query URL using the ?oslc_cm.properties= parameter.
The full command line syntax for OSLC is:
-d "type=oslc_cm,server=[text],query=[text],properties=[text],login=[text],password=[password]"
pep8 is a tool to check your Python code against some of the style conventions in PEP 88. Its CSV report file is imported to generate findings.
For more details, refer to https://pypi.python.org/pypi/pep8.
Style Guide for Python Code. Pep8 results are imported to produce findings on Python code. This data provider requires having pep8 installed on the machine running the analysis and the pep8 command to be available in the path. It is compatible with pep8 1.4.6 and may also work with older versions.
PHP Code Coverage
For more details, refer to https://github.com/sebastianbergmann/php-code-coverage.
Pylint is a Python source code analyzer which looks for programming errors, helps enforcing a coding standard and sniffs for some code smells (as defined in Martin Fowler's Refactoring book). Pylint results are imported to generate findings for Python code.
For more details, refer to http://www.pylint.org/.
Coding Guide for Python Code. Pylint results are imported to produce findings on Python code. This data provider requires having pylint installed on the machine running the analysis and the pylint command to be available in the path. It is known to work with pylint 1.7.0 and may also work with older versions.
QA-C is a static analysis tool for MISRA checking.
For more details, refer to http://www.programmingresearch.com/static-analysis-software/qac-qacpp-static-analyzers/.
By default, Squan Sources generates artefacts for all PROGRAMs in COBOL source files. It is possible to configure the parser to also generate artefacts for all SECTIONs and PARAGRAPHs in your source code. This feature can be enabled with the following steps:
Open <SQUORE_HOME>/configuration/tools/SQuORE/Analyzer/artifacts/cobol/ArtifactsList.txt
Edit the list of artefacts to generate and add the section and paragraph types:
program section paragraph
Save your changes
If you create a new project, you will see the new artefacts straight away. For already-existing projects, make sure to launch a new analysis and check Squan Sources's Force full analysis option to parse the entire code again and generate the new artefacts.
All Data Providers are utilities that run during an analysis. They usually take an input file to parse or parameters specified by the user to generate output files containing data other metrics to add to your project. Here is a non-exhaustive list of what some of them do:
Use XSLT files to transform XML files
Read information from microsoft Word Files
Parse HTML test results
Query web services
Export data from OSLC systems
Launch external processes
This section describes two ways to add your own Data Providers to Squore:
Using one of the generic, built-in Data Provider frameworks. Each solution uses a different approach, but the overall goal is to produce one or more CSV files that your Data Provider will send to Squore to associate metrics, findings, textual information or links to artefacts in your project.
Writing your own utility to generate the XML files expected by Squore so they can be imported as part of the analysis result (new in 17.0).
If you are interested in developping Data Providers that go beyond the scope of what is described in this manual, consult Squoring Technologies to learn more about the available training courses in writing Data Providers.
The following is a list of the available Data Provider frameworks:
Csv
The Csv framework is used to import metrics or textual information and attach them to artefacts of type Application or File. While parsing one or more input CSV files, if it finds the same metric for the same artefact several times, it will only use the last occurrence of the metric and ignore the previous ones. Note that the type of artefacts you can attach metrics to is limited to Application and File artefacts. If you are working with File artefacts, you can let the Data Provider create the artefacts by itself if they do not exist already. Refer to the full Csv Reference for more information.
csv_findings
The csv_findings framework is used to import findings in a project and attach them to artefacts of type Application, File or Function. It takes a single CSV file as input and is the only framework that allows you to import relaxed findings directly. Refer to the full csv_findings Reference for more information.
CsvPerl
The CsvPerl framework offers the same functionality as Csv, but instead of dealing with the raw input files directly, it allows you to run a perl script to modify them and produce a CSV file with the expected input format for the Csv framework. Refer to the full CsvPerl Reference for more information.
FindingsPerl
The FindingsPerl framework is used to import findings and attach them to existing artefacts. Optionally, if an artefact cannot be found in your project, the finding can be attached to the root node of the project instead. When launching a Data Provider based on the FindingsPerl framework, a perl script is run first. This perl script is used to generate a CSV file with the expected format which will then be parsed by the framework. Refer to the full FindingsPerl Reference for more information.
Generic
The Generic framework is the most flexible Data Provider framework, since it allows attaching metrics, findings, textual information and links to artefacts. If the artefacts do not exist in your project, they will be created automatically. It takes one or more CSV files as input (one per type of information you want to import) and works with any type of artefact. Refer to the full Generic Reference for more information.
GenericPerl
The GenericPerl framework is an extension of the Generic framework that starts by running a perl script in order to generate the metrics, findings, information and links files. It is useful if you have an input file whose format needs to be converted to match the one expected by the Generic framework, or if you need to retrieve and modify information exported from a web service on your network. Refer to the full GenericPerl Reference for more information.
ExcelMetrics
The ExcelMetrics framework is used to extract information from one or more Microsoft Excel files (.xls or .xslx). A detailed configuration file allows defining how the Excel document should be read and what information should be extracted. This framework allows importing metrics, findings and textual information to existing artefacts or artefacts that will be created by the Data Provider. Refer to the full ExcelMetrics Reference for more information.
After you choose the framework to extend, you should follow these steps to make your custom Data Provider known to Squore:
Create a new configuration tools
folder to save your work in your
custom configuration folder: MyConfiguration/configuration/tools
.
Create a new folder for your data provider inside the new tools
folder: CustomDP. This folder needs to contain the following files:
form.xml defines the input parameters for the Data Provider, and the base framework to use, as described in the section called “Data Provider Parameters”
form_en.properties contains the strings displayed in the web interface for this Data Provider, as described in the section called “Localising your Data Provider”
config.tcl contains the parameters for your custom Data Provider that are specific to the selected framework
CustomDP.pl is the perl script that is executed automatically if your custom Data Provider uses one of the *Perl frameworks.
Edit Squore Server's configuration file to register your new configuration path, as described in the Installation and Administration Guide.
Log into the web interface as a Squore administrator and reload the configuration.
Your new Data Provider is now known to Squore and can be triggered in analyses. Note that you may have to modify your Squore configuration to make your wizard aware of the new Data Provider and your model aware of the new metrics it provides. Refer to the relevant sections of the Configuration Guide for more information.
Instead of using one of the Data Provider frameworks, you can directly produce your results in an XML format that Squore can read and import (new in 17.0). The syntax of the XML file to generate is as follows:
input-data.xml: <bundle version="2.0"> <artifact [local-key=""] [local-parent=""|parent=""]> <artifact [id="<guid-stable-in-time-also-a-key>"] name="Component" type="REQ" [location=""]> <info name|n="DESCR" value="The description of the object"/> <key value="3452-e89b-ff82"/> <metric name="TEST_KO" value="2"/> <finding name="AR120" loc="xxx" p0="The message" /> <link name="TEST" local-dst=""|dst="" /> <artifact id="" name="SubComponent" type="REQ"> ... </artifact> </artifact> </artifact> <artifact id="" local-key="" name="" type="" local-parent=""|parent="" [location=""] /> ... <link name="" local-src=""|src="" local-dst=""|dst="" /> ... <info local-ref=""|ref="" name="" value=""/> ... <metric local-ref=""|ref="" name="" value=""/> ... <finding local-ref=""|ref="" [location=""] p0="" /> <finding local-ref=""|ref="" [location=""] p0=""> <location local-ref=""|ref="" [location=""] /> ... <relax status="RELAXED_DEROGATION|RELAXED_LEGACY|RELAXED_FALSE_POSITIVE"><![CDATA[My Comment]]></relax> </finding> ... </bundle>
input-data.xml
must be written in a specific location by an executable or a script
declared in the Data Provider's form.xml
in an exec-phase
element, as
described in the section called “Data Provider Parameters”.
A Data Provider's parameters are defined in a file called form.xml
. The following is an example of form.xml
for a Data Provider extending the GenericPerl framework:
<?xml version="1.0" encoding="UTF-8"?> <tags baseName="GenericPerl" needSources="true" image="CustomDP.png" projectStatusOnFailure="ERROR"> <tag type="multipleChoice" displayType="checkbox" optionTitle=" " key="tests"> <value key="ux" option="usability" /> <value key="it" option="integration" /> <value key="ut" option="unit" /> </tag> <tag type="booleanChoice" key="ignore_missing_sources" defaultValue="false" /> <tag type="text" key="input_file" defaultValue="myFile.xml" changeable="false" /> <tag type="multipleChoice" key="old_results" style="margin-left:10px" displayType="radioButton" defaultValue="Exclude"> <value key="Exclude" /> <value key="Include" /> </tag> <tag type="text" key="java_path" defaultValue="/usr/bin/java" hide="true" /> <tag type="password" required="true" key="password" /> </tags>
The
tags
element accepts the following attributes:
baseName
(mandatory) indicates which framework you are basing this Data Provider on
needSources
(optional, default: false) allows specifying whether the Data Provider requires sources or not. When set to true, an error will be displayed if you try to select this Data Provider without adding any Repository Connector to your project.
image
(optional, default: none) allows displaying a logo in the web UI for the Data Provider
projectStatusOnFailure
(optional, default: ERROR) defines what status the project ends in when this Data Provider produces an error. The following values are allowed:
IGNORE
WARNING
ERROR
projectStatusOnWarning
(optional, default: WARNING) defines what status the project ends in when this Data Provider produces a warning. The following values are allowed:
IGNORE
WARNING
ERROR
Each
tag
element is a Data Provider option and allows the following attributes:
key
(mandatory) is the option's key that will be passed to the perl script, or can be used to specify the parameter's value from the command line
type
(mandatory) defines the type of the parameter.
The following values are accepted:
text for free text entry
password for password fields
booleanChoice for a boolean
multipleChoice for offering a selection of predefined values
displayType
(optional) allows specifying how
to display a multipleChoice
parameter by using one of:
comboBox
radioButton
checkbox
defaultValue
(optional, default: empty) is the value used for the parameter when not specified
hide
(optional, default: false) allows hiding a parameter from the web UI, which is useful when combining it with a default value
changeable
(optional, default: true) allows making a parameter configurable only when creating the project but read-only for following analyses when set to true
style
(optional, default: empty) allows setting basic css for the attribute in the web UI
required
(optional, default: false) allows showing a red asterisk next to the field in the web UI to make it visibly required. Note that this is only a visual aid at the moment and cannot be used to force users to enter a value for the parameter.
In order to create a freestyle Data Provider, your form.xml
must contain an
exec-phase
element with a mandatory id="add-data"
attribute (new in 17.0):
<exec-phase id="add-data"> <exec name="tcl|perl|java|javascript or nashorn" | executable="/path/to/bin"> <arg value="${<function>(<args>)}"/> <arg value="-freeText" /> <arg value="${<predefinedVars>}" /> <arg value="versions" /> <arg value="-myTag"/> <arg tag="myTag"/> <env key="MY_VAR" value="SOME_VALUE"/> </exec> <exec ... /> </exec-phase>
The exec-phase
element accepts one or more launches of scripts or executables
specified in an exec
child element, that can receive arguments and environment
variables specified via arg
and env
elements.
There are four built-in languages for executables:
tcl
perl
java
javascript or nashorn
The scripts are launched using the tcl, perl, or java runtimes defined in your Squore installation. This is also the case for
javascript, which is handled by Java's Nashorn engine. Alternatively, you can call an executable directly by specifying its
absolute path using the executable
attribute.
Argument values can be:
Free text, useful to specify a parameter for your script
A tag key
declared in form.xml
to retrieve the input specified by the user
One of the predefined functions
getToolConfigDir(<relative/path>) to get the absolute path of the Data Provider's configuration folder
getToolAddonsDir(<relative/path>) to get the absolute path of the Data Provider's addons folder
One of the predefined variables
${tmpDirectory} to get an absolute path to a temp folder to create files
${sourcesList} to get a list of the aliases and locations containing the data extracted by the repository connectors used in the analysis
${outputDirectory} to get the absolute path of folder where the Data Provider needs to write the final input-data.xml
In order to display your Data Provider parameters in different languages in the web UI, yout Data Provider's form.xml
does not
contain any hard-coded strings. Instead, Squore uses each parameter's key
attribute to dynamically
retrieve a translation from a form_xx.properties
file located next to form.xml
.
When you create a Data Provider, it is mandatory to include at least an English version of the strings in a file called form_en.properties
. You are free to add other languages as needed. Here is a sample .properties
for for the CustomDP you created in the previous section:
FORM.GENERAL.NAME = CustomDP FORM.DASHBOARD.NAME = Test Status FORM.GENERAL.DESCR = CustomDP imports test results for my project FORM.GENERAL.URL = http://example.com/CustomDP TAG.tests.NAME = Test Types TAG.tests.DESCR = Check the boxes next to the types of test results contained in the results TAG.ignore_missing_sources.NAME = Ignore Missing Sources TAG.input_file.NAME = Test Results TAG.input_file.DESCR = Specify the absolute path to the file containing the test results TAG.old_results.NAME = Old Test Results TAG.old_results.DESCR = If the previous analysis contained results that are not in this results file, what do you want to do with the old results? OPT.Exclude.NAME = discard OPT.Include.NAME = keep TAG.password.NAME = File Password TAG.password.DESCR = Specify the password to decrypt the test results file
The syntax for the .properties
file is as follows:
FORM.GENERAL.NAME is the display name of the Data Provider in the project wizard
FORM.DASHBOARD.NAME is the display name of the Data Provider in the Explorer
FORM.GENERAL.DESCR is the description displayed in the Data Provider's tooltip in the web UI
FORM.GENERAL.URL is a reference URL for the Data Provider. Note that it is not displayed in ther web UI yet.
TAG.tag_name.NAME allows setting the display name of a parameter
TAG.tag_name.DESCR is a help text displayed in a tooltip next to the Data Provider option in the web UI
OPT.option_name.NAME allows setting the display name of an option
Using the form_en.properties
above for CustomDP results in the following being displayed in the web UI when launching an analysis:
Table of Contents
This chapter lists the various metrics collected in Squore when running the cloning detection tool, as well as the violations presented in the Findings tab of the web interface.
Note that the concepts used for cloning detection in Squore are based on the notions of longest common
subsequence problem
(http://en.wikipedia.org/wiki/Longest_common_subsequence_problem)
and longest repeated substring problem
(http://en.wikipedia.org/wiki/Longest_repeated_substring_problem).
None of the metrics below are set by the cloning detection tool if thresholds are not met. That is, if an artefact has no CC measure in the output file, that does NOT mean that it has no line in common with other artefacts. In models, metrics default to 0 though.
The two main thresholds are:
A minimum size, to skip small artefacts
A minimum cloning ratio, to keep only similar artefacts
Length of the highest Longest Common Substring (LCS) among all cloned artefacts.
Clones are looked in the whole application, in artefacts with the same language and the same type.
Textual detection, using lines, with trailing spaces removed
Two artefacts are cloned if they have 90% of lines in common, for LC >= 10
Scope: all artefacts but the root node.
Length of the highest LCS among all cloned CFT.
Clones are looked in the whole application, in artefacts with the same language and the same type.
Algorithmic detection, using CFT characters
Two artefacts are cloned if they have 90% of characters in common, for CFT >= 50
Scope: all artefacts but the root node.
Number of clones in direct children of an artefact.
Parent clones are looked in the whole application, in artefacts with the same language and the same type.
Two classes may have two methods in common, for example, without being cloned. The CAC metric for these two classes will be two (assuming that they only have these two methods in common). Such artefacts should be re-factored (using inheritance for example).
Use both textual (CC > 0) and algorithmic (CFTC > 0) cloning when counting
Two parent artefacts are cloned if 25% of their direct children are cloned
Small children artefacts (LC < 10) are taken in account, using exact comparison
Scope: all artefacts but the root node.
Number of cloned artefacts.
Clones are looked in the whole application, in artefacts with the same language and the same type.
Use both textual (CC > 0) and algorithmic (CFTC > 0) cloning when counting
Scope: all artefacts but the root node.
Length of all Repeated Substrings in the artefact definition.
That is, duplicated blocks in a function for example.
Textual detection, using lines, with trailing spaces removed
The metric is triggered if blocks longer than 10 are found, for LC >= 10
Scope: files and all children artefacts.
Length of all Repeated Substrings in the artefact CFT.
That is, duplicated algorithmic blocks in a function for example.
Algorithmic detection, using CFT characters
The metric is triggered if blocks longer than 20 are found, for CFT >= 50
Scope: artefacts with a CFT, like functions.
Number of duplicated lines in an artefact.
Clones are looked in all descendants of the artefact. This basically sums all duplicated lines in descendants.
Use textual cloning (CC > 0) when counting
Scope: all artefacts.
This section lists all the findings that are reported by Squore cloning detection tool.
Avoid code duplication.
Similar artefacts (transitive closure) are part of the same violation
Use artefacts with textual cloning (CC > 0) when grouping
Scope: files and all children artefacts.
Avoid algorithmic cloning.
Similar artefacts (transitive closure) are part of the same violation
Use artefacts with algorithmic cloning (CFTC > 0) when grouping
Scope: artefacts with a CFT, like functions.
Consider refactorisation.
Similar artefacts (transitive closure) are part of the same violation
Use "refactorable" artefacts (CAC > 0) when grouping
Scope: files and all children artefacts.
Consider refactorisation.
One violation per "refactorable" artefact (RS > 0)
Scope: files and all children artefacts.
Table of Contents
Formal testing conducted to enable a user, customer, or other authorised entity to determine whether
to accept a system or component. [ SIGIST ]
Acceptance Testing [ IEEE 610.12 ]: Formal testing conducted to determine whether or not a system satisfies its acceptance criteria and to enable the customer to determine whether or not to accept the system.
Usability of a product, service, environment or facility by people with the widest range of capabilities. [ ISO/IEC/IEEE 24765, ISO/IEC 25062 ]
The capability of the software product to provide the right or agreed results or effects with the needed degree of precision. [ ISO/IEC 9126-1 ]
Accuracy [ ISO/IEC/IEEE 24765 ]:
The closeness of the agreement between the result of a measurement and the true value of the measurand. [ ISO/IEC 14143-3, ISO/IEC/IEEE 24765 ]
[1] ISO/IEC 99:2007 International vocabulary of metrology - Basic and general concepts and associated terms
Individual or organisation that procures a system, software product, or software service from a supplier. [ ISO/IEC 9126-1, ISO/IEC 15939 ]
Acquirer [ ISO/IEC/IEEE 24765, ISO/IEC 12207 ]: Stakeholder that acquires or procures a product or service from a supplier.
Acquirer [ IEEE 1058, ISO/IEC 15288 ]: The individual or organization that specifies requirements for and accepts delivery of a new or modified software product and its documentation.
Glossary:
Standards:
Element of a step that a user performs during a procedure. [ ISO/IEC 26514 ]
Any step taken or function performed, both mental and physical, toward achieving some objective. Activities include all the work the managers and technical staff do to perform the tasks of the project and organization. [ CMMi ]
Activity [ ISO/IEC 12207, ISO/IEC 15288 ]: Set of cohesive tasks of a process.
Activity [ IEEE 1490 ]: A component of work performed during the course of a project.
Activity [ ISO/IEC 14756 ]: An order submitted to the system under test (SUT) by a user or an emulated user demanding the execution of a data processing operation according to a defined algorithm to produce specific output data from specific input data and (if requested) stored data.
Activity [ IEEE 1074 ]: A defined body of work to be performed, including its required input information and output information
Activity [ ISO/IEC 90003 ]: Collection of related tasks.
Activity [ IEEE 829 ]: Element of work performed during the implementation of a process.
Glossary:
Standards:
A role (with respect to that action) in which the enterprise object fulfilling the role participates in the action. [ ISO/IEC 15414 ]
The capability of the software product to be adapted for different specified environments without applying actions or means other than those provided for this purpose for the software considered. [ ISO/IEC 9126-1 ]
Mutual acknowledgement of terms and conditions under which a working relationship is conducted. [ ISO/IEC 12207, ISO/IEC 15288 ]
The capability of the software product to be diagnosed for deficiencies or causes of failures in the
software, or for the parts to be modified to be identified. [ ISO/IEC 9126-1 ]
Algorithm or calculation combining one or more base and/or derived measures with associated decision criteria. [ ISO/IEC 25000 ]
Fundamental organization of a system embodied in its components, their relationships to each other, and to the environment, and the principles guiding its design and evolution. [ ISO/IEC 15288 ]
A measurable physical or abstract property of an entity. [ ISO/IEC 12207, ISO/IEC 14598 ]
Attribute [ IEEE 610.12 ]: A characteristic of an item; for example, the item's color, size, or type.
Attribute [ ISO/IEC 15939, ISO/IEC 25000 ]: Inherent property or characteristic of an entity that can be distinguished quantitatively or qualitatively by human or automated means.
Attribute for Quality Measure [ ISO/IEC 25000 ]: Attribute that relates to software product itself, to the use of the software product or to its development process.
The degree to which a system or component is operational and accessible when required for use. [ ISO/IEC 20000 ]
Availability [ ISO/IEC 20000 ]: Ability of a component or service to perform its required function at a stated instant or over a stated period of time.
Measure defined in terms of an attribute and the method for quantifying it. [ ISO/IEC 99, ISO/IEC 15939, ISO/IEC 25000 ]
Formally approved version of a configuration item, regardless of media, formally designated and fixed at a specific time during the configuration item's life cycle. [ ISO/IEC 19770-1 ]
Baseline [ ISO/IEC 12207, ISO/IEC 15288 ]: Specification or product that has been formally reviewed and agreed upon, that thereafter serves as the basis for further development, and that can be changed only through formal change control procedures.
Baseline [ ISO/IEC 20000 ]: Snapshot of the state of a service or individual configuration items at a point in time.
Baseline [ IEEE 1490 ]: An approved plan (for a project), plus or minus approved changes. It is compared to actual performance to determine if performance is within acceptable variance thresholds. Generally refers to the current baseline, but may refer to the original or some other baseline. Usually used with a modifier (e.g., cost performance baseline, schedule baseline, performance measurement baseline, technical baseline).
Glossary:
Standards:
A Branch is either:
Branch [ ISO/IEC/IEEE 24765 ]:
The percentage of branches that have been exercised by a test case suite. [ SIGIST ]
Testing designed to execute each outcome of each decision point in a computer program. [ ISO/IEC/IEEE 24765 ]
The approved estimate for the project or any work breakdown structure component or any schedule activity. [ IEEE 1490 ]
An operational version of a system or component that incorporates a specified subset of the capabilities that the final product will provide. [ IEEE 610.12, ISO/IEC/IEEE 24765 ]
A diagram that identifies the modules in a system or computer program and shows which modules call one another. [ ISO/IEC/IEEE 24765 ]
Model that contains the essential elements of effective processes for one or more disciplines and describes an evolutionary improvement path from ad hoc, immature processes to disciplined, mature processes with improved quality and effectiveness. [ ISO/IEC/IEEE 24765 ]
Capability Maturity Model [ CMMi ]: A description of the stages through which software organizations evolve as they define, implement, measure, control, and improve their software processes. This model provides a guide for selecting process improvement strategies by facilitating the determination of current process capabilities and the identification of the issues most critical to software quality and process improvement.
A formal demonstration that a system or component complies with its specified requirements and is acceptable for operational use. [ ISO/IEC/IEEE 24765 ]
Certification [ ISO/IEC/IEEE 24765 ]:
A set of standards, rules, or properties to which an asset must conform in order to be certified to a certain level. [ ISO/IEC/IEEE 24765 ]
A formally constituted group of stakeholders responsible for reviewing, evaluating, approving, delaying, or rejecting changes to a project, with all decisions and recommendations being recorded. [ IEEE 1490 ]
A collection of formal documented procedures that define how project deliverables and documentation will be controlled, changed, and approved. [ IEEE 1490, ISO/IEC/IEEE 24765 ]
Judicious use of means to effect a change, or a proposed change, to a product or service. [ ISO/IEC/IEEE 24765 ]
The capability of the software product to enable a specified modification to be implemented. [ ISO/IEC 9126-1 ]
The capability of the software product to co-exist with other independent software in a common environment sharing common resources. [ ISO/IEC 9126-1 ]
In software engineering, computer instructions and data definitions expressed in a programming language or in a form output by an assembler, compiler, or other translator. [ ISO/IEC/IEEE 24765 ]
Code (verb) [ ISO/IEC/IEEE 24765 ]: To express a computer program in a programming language.
An analysis method that determines which parts of the software have been executed (covered) by the test case suite and which parts have not been executed and therefore may require additional attention. [ SIGIST ]
A period during which non-critical changes to the code are not allowed. [ ISO/IEC/IEEE 24765 ]
A meeting at which software code is presented to project personnel, managers, users, customers, or other interested parties for comment or approval. [ ISO/IEC/IEEE 24765 ]
Ensures by static verification methods the conformance of source code to the specified design of the
software module, the required coding standards, and the safety planning requirements. [ IEC 61508-3 ]
In software engineering, the process of expressing a computer program in a programming language. [ ISO/IEC/IEEE 24765 ]
Coding [ ISO/IEC/IEEE 24765 ]: The transforming of logic and data from design specifications (design descriptions) into a programming language.
In software design, a measure of the strength of association of the elements within a module. [ ISO/IEC/IEEE 24765 ]
Cohesion [ ISO/IEC/IEEE 24765 ]: The manner and degree to which the tasks performed by a single software module are related to one another.
Software defined by a market-driven need, commercially available, and whose fitness for use has been demonstrated by a broad spectrum of commercial users. [ ISO/IEC 25051 ]
Glossary:
Standards:
To integrate the changes made to a developer's private view of the source code into a branch accessible through the version control system's repository. [ ISO/IEC/IEEE 24765 ]
An action resulting in an obligation by one or more of the participants in the act to comply with a rule or perform a contract. [ ISO/IEC 15414 ]
Commitment [ CMMi ]: A pact that is freely assumed, visible, and expected to be kept by all parties.
The ability of two or more systems or components to perform their required functions while sharing the same hardware or software environment. [ ISO/IEC/IEEE 24765 ]
Compatibility [ ISO/IEC/IEEE 24765 ]: The ability of two or more systems or components to exchange information.
Compatibility [ ISO/IEC 2382-1 ]: The capability of a functional unit to meet the requirements of a specified interface without appreciable modification.
The degree to which a system's design or code is difficult to understand because of numerous components or relationships among components. [ ISO/IEC/IEEE 24765 ]
Complexity [ ISO/IEC/IEEE 24765 ]: The degree to which a system or component has a design or implementation that is difficult to understand and verify.
An entity with discrete structure, such as an assembly or software module, within a system considered at a particular level of analysis. [ ISO/IEC 15026 ]
Component [ SIGIST ]: A minimal software item for which a separate specification is available.
Component [ IEEE 829 ]: One of the parts that make up a system.
Component [ ISO/IEC 29881 ]: Set of functional services in the software, which, when implemented, represents a well-defined set of functions and is distinguishable by a unique name.
Software Component [ IEEE 1061 ]: A general term used to refer to a software system or an element, such as module, unit, data, or document.
Software Component [ ISO/IEC/IEEE 24765 ]: A functionally or logically distinct part of a software configuration item, distinguished for the purpose of convenience in designing and specifying a complex SCI as an assembly of subordinate elements.
Glossary:
Standards:
Software attributes that provide implementation of a function with a minimum amount of code. [ ISO/IEC/IEEE 24765 ]
A boolean expression containing no boolean operators. For instance A<B is a condition but A and B is not. [ RTCA/EUROCAE ]
Condition [ ISO 5806, ISO/IEC/IEEE 24765 ]: a description of a contingency to be considered in the representation of a problem, or a reference to other procedures to be considered as part of the condition.
The arrangement of a computer system or component as defined by the number, nature, and interconnections of its constituent parts. [ ISO/IEC/IEEE 24765 ]
Configuration [ ISO/IEC/IEEE 24765 ]: In configuration management, the functional and physical characteristics of hardware or software as set forth in technical documentation or achieved in a product.
Configuration [ ISO/IEC/IEEE 24765 ]: The arrangement of a system or network as defined by the nature, number, and chief characteristics of its functional units.
Configuration [ ISO/IEC/IEEE 24765 ]: The requirements, design, and implementation that define a particular version of a system or system component.
Configuration [ ISO/IEC 2382-1 ]: The manner in which the hardware and software of an information processing system are organized and interconnected.
Glossary:
Standards:
An element of configuration management, consisting of the evaluation, coordination, approval or disapproval, and implementation of changes to configuration items after formal establishment of their configuration identification. [ IEEE 610.12, ISO/IEC/IEEE 24765 ]
Entity within a configuration that satisfies an end use function and that can be uniquely identified at a given reference point. [ ISO/IEC 12207 ]
Configuration Item [ ISO/IEC 19770 ]: Item or aggregation of hardware or software or both that is designed to be managed as a single entity.
Configuration Item [ ISO/IEC 20000-1 ]: Component of an infrastructure or an item which is, or will be, under the control of configuration management.
Configuration Item [ ISO/IEC/IEEE 24765 ]: An aggregation of hardware, software, or both, that is designated for configuration management and treated as a single entity in the configuration management process.
Configuration Item [ ISO/IEC/IEEE 24765 ]: Aggregation of work products that is designated for configuration management and treated as a single entity in the configuration management process.
Software Configuration Item [ ISO/IEC/IEEE 24765 ]: A software entity that has been established as a configuration item.
Glossary:
Standards:
A discipline applying technical and administrative direction and surveillance to
Configuration Management <ref name="sting">Software Technology Interest Group On-line Glossary, http: //www.apl.jhu.edu/Notes/Hausler/web/glossary.html .</ref>: The process of identifying, defining, recording and reporting the configuration items in a system and the change requests. Controlling the releases and change of the items throughout the life-cycle.
Configuration Management [ ISO/IEC 29881 ]: Technical and organizational activities comprising configuration identification, control, status accounting, and auditing.
Software Configuration Management [ ISO/IEC 15846 ]: The process of applying configuration management throughout the software life cycle to ensure the completeness and correctness of Software Configuration Items.
The discipline of identifying the components of a continually evolving system to control changes to those components and maintaining integrity and traceability throughout the life cycle. [ ISO/IEC/IEEE 24765 ]
:It includes the documentation, tracking systems, and defined approval levels necessary for authorizing and controlling changes. [ IEEE 1490 ]
A change in one version of a file that cannot be reconciled with the version of the file to which it is applied. [ ISO/IEC/IEEE 24765 ]
The fulfillment by a product, process or service of specified requirements. [ ISO/IEC 12207 ]
The capability of a system or device to be attached to other systems or devices without modification. [ ISO/IEC 2382-1 ]
The degree of uniformity, standardization, and freedom from contradiction among the documents or parts of a system or component. [ ISO/IEC/IEEE 24765 ]
Consistency [ ISO/IEC/IEEE 24765 ]: Software attributes that provide uniform design and implementation techniques and notations.
A restriction on the value of an attribute or the existence of any object based on the value or existence of one or more others. [ ISO/IEC 15474-1 ]
Constraint [ IEEE 1362 ]: An externally imposed limitation on system requirements, design, or implementation or on the process used to develop or modify a system.
Constraint [ IEEE 1490 ]: The state, quality, or sense of being restricted to a given course of action or inaction. An applicable restriction or limitation, either internal or external to a project, which will affect the performance of the project or a process. For example, a schedule constraint is any limitation or restraint placed on the project schedule that affects when a schedule activity can be scheduled and is usually in the form of fixed imposed dates.
Constraint [ IEEE 1233 ]: A statement that expresses measurable bounds for an element or function of the system.
A type of coupling in which some or all of the contents of one software module are included in the contents of another module. [ ISO/IEC/IEEE 24765 ]
Glossary:
Standards:
Users, tasks, equipment (hardware, software and materials), and the physical and social environments in which a product is used. [ ISO/IEC 25000 ]
Binding agreement between two parties, especially enforceable by law, or a similar internal agreement wholly within an organization. [ ISO/IEC 12207 ]
Contract [ IEEE 1490 ]: A mutually binding agreement that obligates the seller to provide the specified product or service or result and obligates the buyer to pay for it.
A type of coupling in which one software module communicates information to another module for the explicit purpose of influencing the latter module's execution. [ ISO/IEC/IEEE 24765 ]
Glossary:
Standards:
The sequence in which operations are performed during the execution of a computer program. [ ISO/IEC/IEEE 24765 ]
A diagram that depicts the set of all possible sequences in which operations may be performed during the execution of a system or program. [ ISO/IEC/IEEE 24765 ]
Requirement employed to prescribe a disciplined, uniform approach to providing consistency in a software product, that is, a uniform pattern or form for arranging data. [ ISO/IEC/IEEE 24765 ]
The degree of effort required to correct software defects and to cope with user complaints. [ ISO/IEC/IEEE 24765 ]
The degree to which a system or component is free from faults in its specification, design, and implementation. [ ISO/IEC/IEEE 24765 ]
Correctness [ ISO/IEC/IEEE 24765 ]: The degree to which software, documentation, or other items meet specified requirements.
Correctness [ ISO/IEC/IEEE 24765 ]: The degree to which software, documentation, or other items meet user needs and expectations, whether specified or not.
The manner and degree of interdependence between software modules. [ ISO/IEC/IEEE 24765 ]
Coupling [ ISO/IEC 19759 ]: The strength of the relationships between modules.
Coupling [ ISO/IEC/IEEE 24765 ]: A measure of how closely connected two routines or modules are.
Coupling [ ISO/IEC/IEEE 24765 ]: In software design, a measure of the interdependence among modules in a computer program
The degree, expressed as a percentage, to which a specified coverage item has been exercised by a test case suite. [ SIGIST ]
Test Coverage [ ISO/IEC 12207 ]: Extent to which the test cases test the requirements for the system or software product.
test Coverage [ ISO/IEC/IEEE 24765 ]: The degree to which a given test or set of tests addresses all specified requirements for a given system or
component.
Glossary:
Standards:
Specific data items identified as contents of information items for appraising a factor in an evaluation, audit, test or review. [ ISO/IEC 15289 ]
Criteria [ ISO/IEC 15289 ]: standards, rules, or tests on which a judgment or decision can be based, or by which a product, service, result, or process can be evaluated.
The degree to which a system or component is operational and accessible when required for use. [ IEEE 829 ]
Software product developed for a specific application from a user requirements specification. [ ISO/IEC 25000 ]
Organization or person that receives a product or service. [ ISO/IEC 12207, ISO/IEC 15288 ]
Customer [ IEEE 1233 ]: The entity or entities for whom the requirements are to be satisfied in the system being defined and developed.
Customer [ IEEE 1362 ]: An individual or organization who acts for the ultimate user of a new or modified hardware or software product to acquire the product and its documentation.
Customer [ IEEE 830 ]: The person, or persons, who pay for the product and usually (but not necessarily) decide the requirements.
Glossary:
Standards:
Collection of values assigned to base measures, derived measures, and/or indicators. [ ISO/IEC 15939, ISO/IEC 25000 ]
Data [ ISO/IEC/IEEE 24765 ]: A representation of facts, concepts, or instructions in a manner suitable for communication, interpretation, or processing by humans or by automatic means.
Data [ ISO/IEC 2382-1 ]: A reinterpretable representation of information in a formalized manner suitable for communication, interpretation, or communication, or processing.
Glossary:
Standards:
A type of coupling in which output from one software module serves as input to another module. [ ISO/IEC/IEEE 24765 ]
Glossary:
Standards:
The sequence in which data transfer, use, and transformation are performed during the execution of a computer program. [ ISO/IEC/IEEE 24765 ]
A diagram that depicts data sources, data sinks, data storage, and processes performed on data as nodes, and logical flow of data as links between the nodes. [ ISO/IEC/IEEE 24765 ]
In a data processing system, the functions that provide access to data, perform or monitor the storage of data, and control input-output operations. [ ISO/IEC 2382-1 ]
Data Management [ ISO/IEC/IEEE 24765 ]: The disciplined processes and systems that plan for, acquire, and provide stewardship for business and technical data, consistent with data requirements, throughout the data lifecycle.
A model about data by which an interpretation of the data can be obtained in the modeling tool industry. [ ISO/IEC 15474-1 ]
The systematic performance of operations upon data. [ ISO/IEC 2382-1 ]
Individual or organisation that is a source of data. [ ISO/IEC 15939 ]
Organised and persistent collection of data and information that allows for its retrieval. [ ISO/IEC 15939 ]
A class of data, characterized by the members of the class and the operations that can be applied to them. [ ISO/IEC/IEEE 24765 ]
A collection of data organized according to a conceptual structure describing the characteristics of the data and the relationships among their corresponding entities, supporting one or more application areas. [ ISO/IEC 2382-1 ]
Database [ ISO/IEC/IEEE 24765 ]: A collection of interrelated data stored together in one or more computerized files.
Database [ ISO/IEC 29881 ]: Collection of data describing a specific target area that is used and updated by one or more applications.
Thresholds, targets, or patterns used to determine the need for action or further investigation, or to describe the level of confidence in a given result. [ ISO/IEC 15939, ISO/IEC 25000 ]
The process of making software modules more independent of one another to decrease the impact of changes to, and errors in, the individual modules. [ ISO/IEC/IEEE 24765 ]
A flaw in a system or system component that causes the system or component to fail to perform its required function. A defect, if encountered during execution, may cause a failure of the system. [ CMMi ]
Defect [ IEEE 1490 ]: An imperfection or deficiency in a project component where that component does not meet its requirements or specifications and needs to be either repaired or replaced.
The degree of confidence that software conforms to its requirements. [ ISO/IEC 15026 ]
Items whose delivery to the customer is a requirement of the contract. [ ISO/IEC 15910 ]
Deliverable [ IEEE 1490 ]: Any unique and verifiable product, result, or capability to perform a service that must be produced to complete a process, phase, or project. Often used more narrowly in reference to an external deliverable, which is a deliverable that is subject to approval by the project sponsor or customer.
Deliverable [ ISO/IEC/IEEE 24765 ]: Item[2] to be provided to an acquirer or other designated recipient as specified in an agreement.
Deliverables [ ISO/IEC 15910 ]: Items whose delivery to the customer is a requirement of the contract.
[2] This item can be a document, hardware item, software item, service, or any type of work product.
Release of a system or component to its customer or intended user. [ ISO/IEC/IEEE 24765 ]
Measure of the degree to which an item is operable and capable of performing its required function at any (random) time during a specified mission profile, given item availability at the start of the mission. [ ISO/IEC/IEEE 24765 ]
Dependability [ IEEE 982 ]: Trustworthiness of a computer system such that reliance can be justifiably placed on the service it delivers.
Phase of a project in which a system is put into operation and cutover issues are resolved. [ ISO/IEC/IEEE 24765 ]
Measure that is defined as a function of two or more values of base measures. [ ISO/IEC 99, ISO/IEC 15939, ISO/IEC 25000 ]
Glossary:
Standards:
The process of defining the architecture, components, interfaces, and other characteristics of a system or component. [ ISO/IEC/IEEE 24765 ]
Design [ ISO/IEC/IEEE 24765 ]: The result of the process of defining the architecture, components, interfaces, and other characteristics of a system or component.
Design [ ISO/IEC/IEEE 24765 ]: The process of defining the software architecture, components, modules, interfaces, and data for a software system to satisfy specified requirements.
Design [ ISO/IEC/IEEE 24765 ]: The process of conceiving, inventing, or contriving a scheme for turning a computer program specification into an operational program.
Design [ ISO/IEC/IEEE 24765 ]: Activity that links requirements analysis to coding and debugging.
Design [ ISO/IEC 26514 ]: Stage of documentation development that is concerned with determining what documentation will be provided in a product and what the nature of the documentation will be.
A description of the problem and the essence of its solution to enable the solution to be reused in different settings. [ ISO/IEC/IEEE 24765 ]
Individual or organisation that performs development activities (including requirements analysis, design, testing through acceptance) during the software lifecycle process. [ ISO/IEC 12207, ISO/IEC 9126-1 ]
Software life cycle process that contains the activities of requirements analysis, design, coding, integration, testing, installation and support for acceptance of software products. [ ISO/IEC 90003, ISO/IEC 12207, ISO/IEC 15939 ]
Development [ ISO/IEC 26514 ]: Activity of preparing documentation after it has been designed.
Glossary:
Standards:
Formal or informal testing conducted during the development of a system or component, usually in the development environment by the developer. [ ISO/IEC/IEEE 24765 ]
Development Testing [ IEEE 829 ]: Testing conducted to establish whether a new software product or software-based system (or components of it) satisfies its criteria.
Glossary:
Standards:
A measure of an attribute that does not depend upon a measure of any other attribute. [ ISO/IEC 14598, ISO/IEC 9126-1 ]
Uniquely identified unit of information for human use, such as a report, specification, manual or book, in printed or electronic form. [ ISO/IEC 9294 ]
Document (verb) [ ISO/IEC/IEEE 24765 ]: To add comments to a computer program.
Document [ ISO/IEC 15910 ]: An item of documentation.
Document [ ISO/IEC 20000 ]: Information and its supporting medium.
Document [ ISO/IEC 26514 ]: Separately identified piece of documentation which could be part of a documentation set.
Collection of related documents that are designed, written, produced and maintained. [ ISO/IEC 9294 ]
Documentation [ ISO/IEC 26514 ]: Information that explains how to use a software product.
Documentation [ IEEE 829 ]:
The process of evaluating a system or component based on its behavior during execution. [ ISO/IEC/IEEE 24765 ]
The value of work performed expressed in terms of the approved budget assigned to that work for a schedule activity or work breakdown structure component. [ IEEE 1490 ]
The capability of the software product to enable users to achieve specified goals with accuracy and completeness in a specified context of use. [ ISO/IEC 9126-1 ]
Effectiveness [ ISO/IEC 25062 ]: The accuracy and completeness with which users achieve specified goals.
Resources expended in relation to the accuracy and completeness with which users achieve goals. [ ISO/IEC 25062 ]
Efficiency [ IEEE 610.12, ISO/IEC/IEEE 24765 ]: The degree to which a system or component performs its designated functions with minimum consumption of resources.
Efficiency [ ISO/IEC 9126-1 ]: The capability of the software product to provide appropriate performance, relative to the amount of resources used, under stated conditions.
Glossary:
Standards:
The capability of the software product to adhere to standards or conventions relating to efficiency. [ ISO/IEC 9126-1 ]
The number of labor units required to complete a schedule activity or work breakdown structure component. Usually expressed as staff hours, staff days, or staff weeks. [ IEEE 1490 ]
A software development technique that consists of isolating a system function or a set of data and operations on those data within a module and providing precise specifications for the module. [ ISO/IEC/IEEE 24765 ]
Encapsulation [ IEEE 1320 ]: The concept that access to the names, meanings, and values of the responsibilities of a class is entirely separated from access to their realization.
Encapsulation [ ISO/IEC/IEEE 24765 ]: The idea that a module has an outside that is distinct from its inside, that it has an external interface and an internal implementation.
Individual person who ultimately benefits from the outcomes of the system. [ ISO/IEC 25000 ]
End User [ IEEE 1233 ]: The person or persons who will ultimately be using the system for its intended purpose. [ IEEE 1233 ]
End User [ ISO 9127 ]: The person who uses the software package.
End User [ ISO/IEC 29881 ]: Any person that communicates or interacts with the software at any time.
Object[3] that is to be characterised by measuring its attributes. [ ISO/IEC 15939, ISO/IEC 25000 ]
Entity [ IEEE 1320 ]: The representation of a set of real or abstract things that are recognized as the same type because they share the same characteristics and can participate in the same relationships.
Entity [ ISO/IEC 15474 ]: An object (i.e., thing, event or concept) that occurs in a model (i.e., transfer).
Entity [ ISO/IEC/IEEE 24765 ]: In computer programming, any item that can be named or denoted in a program.
Entity [ ISO/IEC 29881 ]: Logical component of the data store, representing fundamental things of relevance to the user, and about which persistent information is stored.
A point in a software module at which execution of the module can begin. [ ISO/IEC/IEEE 24765 ]
The configuration(s) of hardware and software in which the software operates. [ ISO 9127 ]
Environment [ IEEE 1362 ]: The circumstances, objects, and conditions that surround a system to be built.
Environment [ IEEE 1233 ]: The circumstances, objects, and conditions that will influence the completed system.
Environment [ IEEE 1320 ]: A concept space, i.e., an area in which a concept has an agreed-to meaning and one or more agreed-to names that are used for the concept.
A human action that produces an incorrect result, such as software containing a fault. [ ISO/IEC/IEEE 24765 ]
Error [ ISO/IEC/IEEE 24765 ]:
omission of a requirement in the design specification. [ ISO/IEC/IEEE 24765 ]
The ability of a system or component to continue normal operation despite the presence of erroneous inputs. [ ISO/IEC/IEEE 24765 ]
Systematic determination of the extent to which an entity meets its specified criteria. [ ISO/IEC 12207 ]
Evaluation [ ISO/IEC 15414 ]: An action that assesses the value of something.
Assessment of a software product against identified and applicable quality characteristics performed using applicable techniques or methods. [ ISO/IEC 25001 ]
Glossary:
Standards:
Organization responsible for specifying the software quality requirements as well as managing and implementing the software quality evaluation activities through the provision of technology, tools, experiences, and management skills. [ ISO/IEC 25001 ]
Glossary:
Standards:
Procedure describing actions to be performed by the evaluator in order to obtain results for the specified measurement applied to the specified product components or on the product as a whole. [ ISO/IEC 25000 ]
Glossary:
Standards:
A package of evaluation technology for a specific software quality characteristic or sub-characteristic. [ ISO/IEC 9126-1, ISO/IEC 14598 ]
Technique, processes, tools, measures and relevant technical information used for evaluation. [ ISO/IEC 25001 ]
Glossary:
Standards:
An instrument that can be used during evaluation to collect data, to perform interpretation of data or to automate part of the evaluation. [ ISO/IEC 14598-5 ]
To carry out an instruction, process, or computer program. [ IEEE 1490 ]
Execute [ IEEE 1490 ]: Directing, managing, performing, and accomplishing the project work, providing the deliverables, and providing work performance information.
The degree to which a system or component performs its designated functions with minimum consumption of time. [ ISO/IEC/IEEE 24765 ]
The time which elapses between task submission and completion. [ ISO/IEC 14756 ]
A point in a software module at which execution of the module can terminate. [ ISO/IEC/IEEE 24765 ]
The degree of effort required to improve or modify software functions' efficiency. [ ISO/IEC/IEEE 24765 ]
The ease with which a system or component can be modified to increase its storage or functional capacity. [ ISO/IEC/IEEE 24765 ]
A measurable property of an entity which can only be derived with respect to how it relates to its environment. [ ISO/IEC 14598-3 ]
An indirect measure of a product derived from measures of the behaviour of the system of which it is a part. [ ISO/IEC 9126-1, ISO/IEC 14598 ]
Glossary:
Standards:
The extent to which a product satisfies stated and implied needs when used under specified conditions. [ ISO/IEC 9126-1, ISO/IEC 14598 ]
Glossary:
Standards:
Capability of a software product to enable the behavior of a system to satisfy stated and implied needs when the system is used under specified conditions. [ ISO/IEC 25000 ]
Physical means or equipment for facilitating the performance of an action. [ ISO/IEC 12207, ISO/IEC 15288 ]
The termination of the ability of a product to perform a required function or its inability to perform within previously specified limits. [ ISO/IEC 9126-1, ISO/IEC 14598-5, ISO/IEC 25000 ]
Failure [ SIGIST ]: Deviation of the software from its expected delivery or service.
Failure [ IEEE 610.12 ]: The inability of a system or component to perform its required functions within specified performance requirements.
Failure [ ISO/IEC/IEEE 24765 ]: An event in which a system or system component does not perform a required function within specified limits.
Glossary:
Standards:
[4] J. C. Laprie (Ed.). Dependability: Basic Concepts and Terminology. Springer-Verlag, Wein, New York, 1992.
The ratio of the number of failures of a given category to a given unit of measure. [ ISO/IEC/IEEE 24765 ]
An incorrect step, process or data definition in a computer program. [ IEEE 610.12, ISO/IEC 9126-1 ]
Fault [ RTCA/EUROCAE ]: A manifestation of an error in software. A fault, if encountered may cause a failure.
Fault [ ISO/IEC/IEEE 24765 ]:
The capability of the software product to maintain a specified level of performance in cases of software faults or of infringement of its specified interface. [ ISO/IEC 9126-1 ]
Fault Tolerance [ IEEE 610.12 ]:
The degree to which the requirements, design, or plans for a system or component can be implemented under existing constraints. [ ISO/IEC/IEEE 24765 ]
Distinguishing characteristic of a system item. [ IEEE 829 ]
A period during which no new features are added to a specific branch. [ IEEE 829 ]
A computational model consisting of a finite number of states and transitions between those states, possibly with accompanying actions. [ ISO/IEC/IEEE 24765 ]
The ease with which a system or component can be modified for use in applications or environments other than those for which it was specifically designed. [ ISO/IEC/IEEE 24765, IEEE 610.12 ]
A branch where no development takes place, either in preparation for a release or because active development has ceased on it. [ ISO/IEC/IEEE 24765 ]
A software module that performs a specific action, is invoked by the appearance of its name in an expression, may receive input values, and returns a single value. [ ISO/IEC/IEEE 24765 ]
Function [ IEEE 1233 ]: A task, action, or activity that must be accomplished to achieve a desired outcome.
Function [ IEEE 1320 ]: A transformation of inputs to outputs, by means of some mechanisms, and subject to certain controls, that is identified by a function name and modeled by a box.
Function [ ISO/IEC 26514 ]: Part of an application that provides facilities for users to carry out their tasks.
Function [ ISO/IEC/IEEE 24765 ]: A defined objective or characteristic action of a system or component.
A systematic investigation of the functions of a real or planned system. [ ISO/IEC 2382-1 ]
Functional Analysis [ ISO/IEC/IEEE 24765 ]: Examination of a defined function to identify all the sub-functions necessary to accomplish that function, to identify functional relationships and interfaces (internal and external) and capture these in a functional architecture, to flow down upper-level performance requirements and to assign these requirements to lower-level sub-functions.
A statement that identifies what a product or process must accomplish to produce required behavior and/or results. [ IEEE 1220 ]
Model [ ISO/IEC/IEEE 24765 ]: A requirement that specifies a function that a system or system component must be able to perform.
A size of the software derived by quantifying the functional user requirements. [ ISO/IEC 14143-1 ]
Testing that ignores the internal mechanism of a system or component and focuses solely on the outputs generated in response to selected inputs and execution conditions. [ ISO/IEC/IEEE 24765 ]
An entity of hardware or software, or both, capable of accomplishing a specified purpose. [ ISO/IEC 2382-1 ]
The capability of the software product to provide functions which meet stated and implied needs when the software is used under specified conditions. [ ISO/IEC 9126-1 ]
Functionality [ IEEE 1362 ]: The capabilities of the various computational, user interface, input, output, data management, and other features provided by a product.
The capability of the software product to adhere to standards, conventions or regulations in laws and similar prescriptions relating to functionality. [ ISO/IEC 9126-1 ]
The degree to which a system or component performs a broad range of functions. [ ISO/IEC/IEEE 24765 ]
An activity that, when consistently performed, contributes to the achievement of a specific process attribute. [ ISO/IEC 15504 ]
The collection of the names and narrative descriptions of all terms that may be used for defined concepts within an environment. [ IEEE 1320 ]
Intended outcome of user interaction with a product. [ ISO/IEC 25062 ]
Goal [ ISO/IEC 9126-4 ]: An intended outcome.
The depth or level of detail at which data is collected. [ ISO/IEC/IEEE 24765 ]
Documents and data on prior projects including project files, records, correspondence, closed contracts, and closed projects. [ IEEE 1490 ]
A type of coupling in which different subsets of the range of values that a data item can assume are used for different and unrelated purposes in different software modules. [ ISO/IEC/IEEE 24765 ]
Identification of all system and software products that a change request affects and development of an estimate of the resources needed to accomplish the change. [ ISO/IEC/IEEE 24765 ]
The process of translating a design into hardware components, software components, or both. [ ISO/IEC/IEEE 24765 ]
Implementation ISO/IEC/IEEE 24765 ]: The installation and customization of packaged software.
Implementation ISO/IEC/IEEE 24765 ]: Construction.
Implementation ISO/IEC 2382 ]: The system development phase at the end of which the hardware, software and procedures of the system considered become operational.
Implementation ISO/IEC 26514 ]: Phase of development during which user documentation is created according to the design, tested, and revised.
Needs that may not have been stated but are actual needs. [ ISO/IEC 25000 ]
Implied Needs [ ISO/IEC 9126-1, ISO/IEC 14598-1 ]: Needs that may not have been stated but are actual needs when the entity is used in particular conditions.
A software development technique in which requirements definition, design, implementation, and testing occur in an overlapping, iterative (rather than sequential) manner, resulting in incremental completion of the overall software product. [ ISO/IEC/IEEE 24765 ]
Measure that provides an estimate or evaluation of specified attributes derived from a model with respect to defined information needs. [ ISO/IEC 15939, ISO/IEC 25000 ]
Indicator [ ISO/IEC 9126-1, ISO/IEC 14598-1 ]: A measure that can be used to estimate or predict another measure.
Numerical or categorical result assigned to an indicator. [ ISO/IEC 15939 ]
A measure of an attribute that is derived from measures of one or more other attributes. [ ISO/IEC 14598 ]
An information processing, knowledge concerning objects, such as facts, events, things, processes, or ideas, including concepts, that within a certain context has a particular meaning. [ ISO/IEC 2382-1 ]
A systematic investigation of information and its flow in a real or planned system. [ ISO/IEC 2382-1 ]
In an information processing system, the functions of controlling the acquisition, analysis, retention, retrieval, and distribution of information. [ ISO/IEC 2382-1 ]
One or more indicators and their associated interpretations that address an information need. [ ISO/IEC 15939, ISO/IEC 25000 ]
A static analysis technique that relies on visual examination of development products to detect errors, violations of development standards, and other problems. [ ISO/IEC/IEEE 24765 ]
Inspection [ IEEE 1490 ]: Examining or measuring to verify whether an activity, component, product, result, or service conforms to specified requirements.
The capability of the software product to be installed in a specified environment. [ ISO/IEC 9126-1 ]
A document that provides the information necessary to install a system or component, set initial parameters, and prepare the system or component for operational use. [ ISO/IEC/IEEE 24765 ]
Glossary:
Standards:
The process of combining software components, hardware components, or both into an overall system. [ ISO/IEC/IEEE 24765 ]
The progressive linking and testing of programs or modules in order to ensure their proper functioning in the complete system. [ ISO/IEC 2382 ]
The degree to which a system or component prevents unauthorized access to, or modification of, computer programs or data. [ ISO/IEC/IEEE 24765 ]
Testing conducted to evaluate whether systems or components pass data and control correctly to one another. [ ISO/IEC/IEEE 24765 ]
A product of the software development process that is used as input to another stage of the software development process. [ ISO/IEC 14598, ISO/IEC 9126-1, ISO/IEC 25000 ]
Glossary:
Standards:
A measurable property of an entity which can be derived purely in terms of the entity itself. [ ISO/IEC 14598, ISO/IEC/IEEE 24765 ]
A measure of the product itself, either direct or indirect. [ ISO/IEC 14598, ISO/IEC 9126-1, ISO/IEC/IEEE 24765 ]
Glossary:
Standards:
The totality of attributes of a product that determine its ability to satisfy stated and implied needs when used under specified conditions. [ ISO/IEC 9126-1, ISO/IEC/IEEE 24765 ]
Glossary:
Standards:
Capability of a set of static attributes of a software product to satisfy stated and implied needs when the software product is used under specified conditions. [ ISO/IEC 25000 ]
The capability of the software product to interact with one or more specified systems. [ ISO/IEC 9126-1 ]
Testing conducted to ensure that a modified system retains the capability of exchanging information with systems of different types, and of using that information. [ ISO/IEC/IEEE 24765 ]
Scale in which the measurement values have equal distances corresponding to equal quantities of the attribute. [ ISO/IEC/IEEE 24765 ]
An entity such as a part, component, subsystem, equipment or system that can be individually considered. An item may consist of hardware, software or both. [ ISO/IEC 15026 ]
The infrastructures and activities that contribute most to the effective implementation and institutionalization of a key process area. [ CMMi ]
In the CMMi process, each key process area is described in terms of the key practices that contribute to satisfying its goals. The key practices describe the infrastructure and activities that contribute most to the effective implementation and institutionalization of the key process area.
Each key practice consists of a single sentence, often followed by a more detailed description, which may include examples and elaboration. These
key practices, also referred to as the top-level key practices, state the fundamental policies, procedures, and activities for the key process area.
The components of the detailed description are frequently referred to as sub-practices.
The key practices describe "what" is to be done, but they should not be interpreted as mandating "how" the goals should be achieved. Alternative practices may accomplish the goals of the key process area. The key practices should be interpreted rationally to judge whether the goals of the key
process area are effectively, although perhaps differently, achieved.
A cluster of related activities that, when performed collectively, achieve a set of goals considered important for establishing process capability. [ CMMi ]
The key process areas have been defined to reside at a single maturity level. They are the areas identified by the SEI to be the principal building blocks to help determine the software process capability of an organization and understand the improvements needed to advance to higher maturity levels.
A database that contains inference rules and information about human experience and expertise in a domain. [ ISO/IEC 2382-1 ]
The capability of the software product to enable the user to learn its application. [ ISO/IEC 9126-1 ]
The learning gained from the process of performing the project. Lessons learned may be identified at any point. Also considered a project record, to be included in the lessons learned knowledge base. [ IEEE 1490 ]
The degree to which the needs are satisfied, represented by a specific set of values for the quality characteristics. [ ISO/IEC 9126-1 ]
Evolution of a system, product, service, project or other human-made entity from conception through retirement. [ ISO/IEC 12207, ISO/IEC 15288 ]
Life Cycle [ IEEE 1220 ]: The system or product evolution initiated by a perceived stakeholder need through the disposal of the products.
Framework of processes and activities concerned with the life cycle that may be organized into stages, which also acts as a common reference for communication and understanding. [ ISO/IEC 12207, ISO/IEC 15288 ]
The capability of the software product to be modified. [ ISO/IEC 9126-1, ISO/IEC 14764 ]
Maintainability [ ISO/IEC/IEEE 24765 ]: The ease with which a software system or component can be modified to change or add capabilities, correct faults or defects, improve performance or other attributes, or adapt to a changed environment.
Maintainability [ ISO/IEC/IEEE 24765 ]: The average effort required to locate and fix a software failure.
Maintainability [ IEEE 982 ]: Speed and ease with which a program can be corrected or changed.
Glossary:
Standards:
The capability of the software product to adhere to standards or conventions relating to maintainability. [ ISO/IEC 9126-1 ]
Individual or organization that performs maintenance activities. [ ISO/IEC 25000 ]
Maintainer [ ISO/IEC 9126-1, ISO/IEC 12207, ISO/IEC 14598 ]: An organisation that performs maintenance activities.
Glossary:
Standards:
The process of modifying a software system or component after delivery to correct faults, improve performance or other attributes, or adapt to a changed environment. [ IEEE 610.12, ISO/IEC/IEEE 24765 ]
Software Maintenance [ ISO/IEC 14764 ]: The totality of activities required to provide cost-effective support to a software system.
Glossary:
Standards:
A software engineering project-deliverable document that enables a system's maintenance personnel (rather than users) to maintain the system. [ ISO/IEC/IEEE 24765 ]
Glossary:
Standards:
The capability of the software product to avoid failure as a result of faults in the software. [ ISO/IEC 9126-1 ]
Particular quantity subject to measurement. [ ISO/IEC 14143-3, ISO/IEC/IEEE 24765 ]
Variable to which a value is assigned as the result of measurement. [ ISO/IEC 15939, ISO/IEC 25000 ]
Measure (verb) [ ISO/IEC 14598, ISO/IEC 15939 ]: To make a measurement.
Measure [ IEEE 1061 ]: A way to ascertain or appraise value by comparing it to a norm.
Measure (verb) [ IEEE 1061 ]: To apply a metric.
Measure [ ISO/IEC 14598 ]: The number or category assigned to an attribute of an entity by making a measurement.
Measure [ IEEE 982 ]: The number or symbol assigned to an entity by a mapping from the empirical world to the formal, relational world in order to characterize an attribute.
Measure [ IEEE 982 ]: The act or process of measuring.
Set of operations having the object of determining a value of a measure. [ ISO/IEC 25000 ]
Measurement [ ISO/IEC 99, ISO/IEC 15939 ]: Set of operations having the object of determining a value of a measure.
Measurement [ IEEE 1061 ]: Act or process of assigning a number or category to an entity to describe an attribute of that entity.
Measurement [ ISO/IEC 19759 ]: The assignment of numbers to objects in a systematic way to represent properties of the object.
Measurement [ ISO/IEC 9126-1, ISO/IEC 14598 ]: The use of a metric to assign a value (which may be a number or category) from a scale to an attribute of an entity.
Measurement [ ISO/IEC 19759 ]: the assignment of values and labels to aspects of software engineering (products, processes, and resources) and the models that are derived from them, whether these models are developed using statistical, expert knowledge or other techniques.
Glossary:
Standards:
Individual or organisation that is responsible for the planning, performance, evaluation, and improvement of measurement. [ ISO/IEC 15939 ]
Data store that contains the evaluation of the information products and the measurement process as well as any lessons learned during the measurement process. [ ISO/IEC 15939 ]
Algorithm or calculation performed to combine two or more base measures. [ ISO/IEC 15939, ISO/IEC 25000 ]
Logical sequence of operations, described generically, used in quantifying an attribute with respect to a specified scale. [ ISO/IEC 99, ISO/IEC 15939, ISO/IEC 25000 ]
Set of operations, described specifically, used in the performance of a particular measurement according to a given method. [ ISO/IEC 99, ISO/IEC 15939, ISO/IEC 25000 ]
The process for establishing, planning, performing and evaluating software measurement within an overall project or organisational measurement structure. [ ISO/IEC 15939 ]
Individual or organisation responsible for the measurement process. [ ISO/IEC 15939 ]
Individual or organisation that authorises and supports the establishment of the measurement process. [ ISO/IEC 15939 ]
Individual or organisation that uses the information products. [ ISO/IEC 15939 ]
The defined measurement method and the measurement scale. [ ISO/IEC 14598, ISO/IEC 9126-1 ]
A significant point or event in the project. [ IEEE 1490 ]
Milestone [ IEEE 1058 ]: A scheduled event used to measure progress.
Glossary:
Standards:
Temporary dummy objects created to aid testing until the real objects become available. [ ISO/IEC/IEEE 24765 ]
A semantically closed abstraction of a system or a complete description of a system from a particular perspective. [ ISO/IEC/IEEE 24765 ]
Model [ IEEE 1233 ]: A representation of a real world process, device, or concept.
Model [ ISO/IEC 15474 ]: A related collection of instances of meta-objects, representing (describing or prescribing) an information system, or parts thereof, such as a software product.
The ease with which a system can be changed without introducing defects. [ ISO/IEC/IEEE 24765 ]
Structured and has a style such that changes can be made completely, consistently, and correctly while retaining the structure. [ ISO/IEC 12207 ]
The degree to which a system or computer program is composed of discrete components such that a change to one component has minimal impact on other components. [ ISO/IEC/IEEE 24765 ]
Modularity [ ISO/IEC/IEEE 24765 ]: Software attributes that provide a structure of highly independent components.
Modularity [ ISO/IEC/IEEE 24765 ]: The extent to which a routine or module is like a black box
A program unit that is discrete and identifiable with respect to compiling, combining with other units, and loading. [ ISO/IEC/IEEE 24765 ]
Module [ ISO/IEC/IEEE 24765 ]:
Temporary dummy objects created to aid testing until the real objects become available. [ ISO/IEC/IEEE 24765 ]
Multidimensional analysis is a measurement function that weights different base measures to give a more relevant insight of the final goal of the measure.
It was primarily developed by Kaner and Bond in Software Engineering Metrics: What Do They Measure And How Do We Know.
An arrangement of nodes and interconnecting branches. [ ISO/IEC 2382-1 ]
A software requirement that describes not what the software will do but how the software will do it. [ ISO/IEC/IEEE 24765 ]
Requirement affecting product and service acquisition or development that is not a property of the product or service. [ ISO/IEC/IEEE 24765 ]
An encapsulation of data and services that manipulate that data. [ ISO/IEC/IEEE 24765 ]
Object [ ISO/IEC/IEEE 24765 ]: A specific entity that exists in a program at runtime in object-oriented programming.
Object [ ISO/IEC/IEEE 24765 ]: Pertaining to the outcome of an assembly or compilation process.
Object [ IEEE 1320 ]: A member of an object set and an instance of an object type.
An integrated abstraction that treats all activities as performed by collaborating objects and encompassing both the data and the operations that can be performed against that data. [ ISO/IEC 12207 ]
A software development technique in which a system or component is expressed in terms of objects and connections between those objects. [ ISO/IEC/IEEE 24765 ]
Instance of applying a measurement procedure to produce a value for a base measure. [ ISO/IEC 15939, ISO/IEC 25000 ]
The time interval, where the measurement procedure is observed for collecting (logging) measurement results for rating or validation, consisting of the rating interval and the supplementary run. [ ISO/IEC 14756 ]
The capability of the software product to enable the user to operate and control it. [ ISO/IEC 9126-1 ]
A variable, constant, or function upon which an operation is to be performed. [ ISO/IEC/IEEE 24765 ]
Testing conducted to evaluate a system or component in its operational environment. [ ISO/IEC 15504 ]
Glossary:
Standards:
Individual or organisation that operates the system. [ ISO/IEC 12207, ISO/IEC 15939, ISO/IEC 25000 ]
Operator [ ISO/IEC/IEEE 24765 ]: A mathematical or logical symbol that represents an action to be performed in an operation.
Operator [ ISO/IEC 12207, ISO/IEC 15288 ]: Entity that performs the operation of a system.
Operator [ IEEE 1220 ]: An individual or an organization that contributes to the functionality of a system and draws on knowledge, skills, and procedures to contribute the function.
Glossary:
Standards:
A document that provides the information necessary to initiate and operate a system or component. [ ISO/IEC/IEEE 24765 ]
Glossary:
Standards:
An attribute that may have no value for an instance. [ IEEE 1320 ]
Requirement of a normative document that must be fulfilled in order to comply with a particular option permitted by that document. [ ISO/IEC 14143 ]
The part of an organisation that is the subject of measurement. [ ISO/IEC 15504-9, ISO/IEC 15939 ]
In software engineering, a sequence of instructions that may be performed in the execution of a computer program. [ ISO/IEC/IEEE 24765 ]
Path [ ISO/IEC/IEEE 24765 ]: In file access, a hierarchical sequence of directory and subdirectory names specifying the storage location of a file.
Analysis of a computer program to identify all possible paths through the program, to detect incomplete paths, or to discover portions of the program that are not on any path. [ ISO/IEC/IEEE 24765 ]
Testing designed to execute all or selected paths through a computer program. [ ISO/IEC/IEEE 24765 ]
A type of coupling in which one software module affects or depends upon the internal implementation of another. [ ISO/IEC/IEEE 24765 ]
Glossary:
Standards:
A review of a software work product, following defined procedures, by peers of the producers of the product for the purpose of identifying defects and improvements. [ CMMi ]
Peer Review [ ISO/IEC/IEEE 24765 ]: Review of work products performed by peers during development of the work products to identify defects for removal.
The degree to which a system or component accomplishes its designated functions within given constraints, such as speed, accuracy, or memory usage. [ ISO/IEC/IEEE 24765 ]
Glossary:
Standards:
An assessment indicator that supports the judgment of the process performance of a specific process. [ ISO/IEC/IEEE 24765 ]
Testing conducted to evaluate the compliance of a system or component with specified performance requirements. [ ISO/IEC/IEEE 24765 ]
A project designed to test a preliminary version of an information processing system under actual but limited operating conditions and which will then be used to test the definitive version of the system. [ ISO/IEC 2382 ]
The capability of the software product to be transferred from one environment to another. [ ISO/IEC 9126-1 ]
Portability [ ISO/IEC/IEEE 24765 ]: The ease with which a system or component can be transferred from one hardware or software environment to another.
Portability [ ISO/IEC 2382 ]: The capability of a program to be executed on various types of data processing systems without converting the program to a different language and with little or no modification.
The capability of the software product to adhere to standards or conventions relating to portability. [ ISO/IEC 9126-1 ]
An activity that contributes to the purpose or outcomes of a process or enhances the capability of a process. [ ISO/IEC 15504 ]
Practice [ ISO/IEC/IEEE 24765 ]: Requirements employed to prescribe a disciplined uniform approach to the software development process.
Practice [ IEEE 1490 ]: A specific type of professional or management activity that contributes to the execution of a process and that may employ one or more techniques and tools.
The degree of exactness or discrimination with which a quantity is stated. [ ISO/IEC/IEEE 24765 ]
A metric applied during development and used to predict the values of a software quality factor. [ IEEE 1061 ]
Ordered series of steps that specify how to perform a task. [ ISO/IEC 26514 ]
Procedure [ ISO/IEC 19770 ]: Specified way to carry out an activity or process.
Procedure [ ISO/IEC/IEEE 24765 ]: A portion of a computer program that is named and that performs a specific action.
Procedure [ ISO/IEC/IEEE 24765 ]: A routine that does not return a value.
System of activities, which use resources to transform inputs into outputs. [ 25000 ]
Process [ ISO/IEC 15504-9, ISO/IEC 15939 ]: Set of interrelated activities that transform inputs into outputs.
Process [ ISO/IEC 2382 ]: Predetermined course of events defined by its purpose or by its effect, achieved under given conditions.
Process (verb) [ ISO/IEC/IEEE 24765 ]: To perform operations on data.
Process [ ISO/IEC 15414 ]: A collection of steps taking place in a prescribed manner and leading to an objective.
Process [ ISO/IEC 2382 ]: In data processing, the predetermined course of events that occur during the execution of all or part of a program.
A disciplined evaluation of an organizational unit's processes against a Process Assessment Model. [ ISO/IEC 15504 ]
A model suitable for the purpose of assessing process capability, based on one or more process reference models. [ ISO/IEC 15504 ]
A characterization of the ability of a process to meet current or projected business goals. [ ISO/IEC 15504 ]
A systematic assessment and analysis of selected processes within an organization against a target capability, carried out with the aim of identifying the strengths, weaknesses and risks associated with deploying the processes to meet a particular specified requirement. [ ISO/IEC 15504 ]
A point on the six-point ordinal scale (of process capability) that represents the capability of the process; each level builds on the capability of the level below. [ ISO/IEC 15504 ]
The set of factors, documented in the assessment input, that influence the judgment, comprehension and comparability of process attribute ratings. [ ISO/IEC 15504 ]
Actions taken to change an organization's processes so that they more effectively and/or efficiently meet the organization's business goals. [ ISO/IEC 15504 ]
Set of target characteristics established to guide the effort to improve an existing process in a specific, measurable way, either in terms of resultant product or service characteristics, such as quality, performance, and conformance to standards, or in the way in which the process is executed, such as elimination of redundant process steps, combination of process steps, and improvement of cycle time. [ ISO/IEC 15504 ]
The strategies, policies, goals, responsibilities and activities concerned with the achievement of specified improvement goals. [ ISO/IEC 15504 ]
A subset of the Process Improvement Program that forms a coherent set of actions to achieve a specific improvement. [ ISO/IEC 15504 ]
A metric used to measure characteristics of the methods, techniques, and tools employed in developing, implementing, and maintaining the software system. [ IEEE 1061 ]
An observable result of a process. [ ISO/IEC 15504 ]
Process Outcome [ ISO/IEC 12207, ISO/IEC 15288 ]: Observable result of the successful achievement of the process purpose.
The extent to which the execution of a process achieves its purpose. [ ISO/IEC 15504 ]
High-level objective of performing the process and the likely outcomes of effective implementation of the process. [ ISO/IEC 15504, ISO/IEC 15288 ]
An artifact that is produced, is quantifiable, and can be either an end item in itself or a component item. [ IEEE 1490 ]
Product [ ISO/IEC 26514 ]: Complete set of software and documentation.
Product [ IEEE 1074 ]: Output of the software development activities (e.g., document, code, or model).
Product [ ISO/IEC 15939 ]: Result of a process.
Software Product [ ISO/IEC 9126, ISO/IEC 12207, ISO/IEC 15939 ]: Set of computer programs, procedures, and associated documentation and data.
:Hardware and processed materials are generally tangible products, while software or services are generally intangible. Most products comprise elements belonging to different generic product categories. Whether the product is then called hardware, processed material, software, or service depends on the dominant element. [ ISO/IEC/IEEE 24765 ]
Glossary:
Standards:
Group of products or services sharing a common, managed set of features that satisfy specific needs of a selected market or mission. [ ISO/IEC/IEEE 24765 ]
A metric used to measure the characteristics of any intermediate or final product of the software development process. [ IEEE 1061 ]
The capability of the software product to enable users to expend appropriate amounts of resources in relation to the effectiveness achieved in a specified context of use. [ ISO/IEC 9126-1 ]
A document that provides the information necessary to develop or modify software for a given computer system. [ ISO/IEC/IEEE 24765 ]
Glossary:
Standards:
Endeavor with defined start and finish dates undertaken to create a product or service in accordance with specified resources and requirements. [ ISO/IEC 15288, ISO/IEC 15939 ]
Project [ ISO/IEC 2382 ]: An undertaking with pre-specified objectives, magnitude and duration.
Project [ IEEE 1490 ]: A temporary endeavor undertaken to create a unique product, service, or result.
The application of knowledge, skills, tools, and techniques to project activities to meet the project requirements. [ IEEE 1490 ]
Project Management [ ISO/IEC 2382 ]: The activities concerned with project planning and project control.
A collection of logically related project activities, usually culminating in the completion of a major deliverable. [ IEEE 1490 ]
Model or preliminary implementation of a piece of software suitable for the evaluation of system design, performance or production potential, or for the better understanding of the software requirements. [ ISO/IEC 15910 ]
Prototype [ ISO/IEC/IEEE 24765 ]: A preliminary type, form, or instance of a system that serves as a model for later stages or for the final, complete version of the system.
Process of demonstrating whether an entity is capable of fulfilling specified requirements. [ ISO/IEC 12207, ISO/IEC 15288 ]
Qualification [ ISO/IEC/IEEE 24765 ]: The process of determining whether a system or component is suitable for operational use.
Testing, conducted by the developer and witnessed by the acquirer (as appropriate), to demonstrate that a software product meets its specifications and is ready for use in its target environment or integration with its containing system. [ ISO/IEC 12207 ]
Qualification Testing [ IEEE 829 ]: Testing conducted to determine whether a system or component is suitable for operational use.
Glossary:
Standards:
The totality of characteristics of an entity that bear on its ability to satisfy stated and implied needs. [ ISO 8402, ISO/IEC 9126-1 ]
Quality [ IEEE 829 ]: The degree to which a system, component, or process meets specified requirements.
Quality [ ISO/IEC/IEEE 24765 ]: Ability of a product,service, system, component, or process to meet customer or user needs, expectations, or requirements.
Quality [ IEEE 1490 ]: The degree to which a set of inherent characteristics fulfils requirements.
Quality [ IEEE 829 ]: The degree to which a system, component, or process meets customer or user needs or expectations.
Glossary:
Standards:
The planned and systematic activities implemented within the quality system, and demonstrated as needed, to provide adequate confidence that an entity will fulfil requirements for quality. [ ISO/IEC 12207 ]
Quality Assurance [ IEEE 610.12, ISO/IEC/IEEE 24765 ]: A planned and systematic pattern of all actions necessary to provide adequate confidence that an item or product conforms to established technical requirements.
Quality Assurance [ IEEE 610.12, ISO/IEC/IEEE 24765 ]: A set of activities designed to evaluate the process by which products are developed or manufactured.
Quality Assurance [ ISO/IEC 15288 ]: Part of quality management focused on providing confidence that quality requirements will be fulfilled.
Glossary:
Standards:
A set of activities designed to evaluate the quality of developed or manufactured products. [ IEEE 610.12 ]
Systematic examination of the extent to which an entity is capable of fulfilling specified requirements. [ ISO 8402, ISO/IEC 9126-1, ISO/IEC 14598 ]
Coordinated activities to direct and control an organization with regard to quality. [ ISO/IEC 19759 ]
Base measure or derived measure that is used for constructing software quality measures. [ ISO/IEC 25000 ]
a quantitative measure of the degree to which an item possesses a given quality attribute. [ ISO/IEC/IEEE 24765 ]
Quality Metric [ ISO/IEC/IEEE 24765 ]: A function whose inputs are software data and whose output is a single numerical value that can be interpreted as the degree to which the software possesses a given quality attribute.
Defined set of characteristics, and of relationships between them, which provides a framework for specifying quality requirements and evaluating quality. [ ISO/IEC 25000 ]
Quality Model [ ISO/IEC 9126-1, ISO/IEC 14598-1 ]: The set of characteristics and the relationships between them which provide the basis for specifying quality requirements and evaluating quality.
The capability of the software product to enable specified users to achieve specified goals with effectiveness, productivity, safety and satisfaction in specified contexts of use. [ ISO/IEC 9126-1, ISO/IEC/IEEE 24765, ISO/IEC 25000 ]
Glossary:
Standards:
The action of mapping the measured value to the appropriate rating level. Used to determine the rating level associated with the software for a specific quality characteristic. [ ISO/IEC 9126-1, ISO/IEC 14598-1, ISO/IEC 25000 ]
A scale point on an ordinal scale which is used to categorise a measurement scale. [ ISO/IEC 9126-1, ISO/IEC 14598, ISO/IEC 25000 ]
The ease with which a system's source code can be read and understood, especially at the detailed, statement level. [ ISO/IEC/IEEE 24765 ]
The capability of the software product to re-establish a specified level of performance and recover the data directly affected in the case of a failure. [ ISO/IEC 9126-1 ]
The restoration of a system, program, database, or other system resource to a state in which it can perform required functions. [ ISO/IEC/IEEE 24765 ]
The examination and alteration of software to reconstitute it in a new form, including the subsequent implementation of the new form. [ ISO/IEC 19759 ]
Selective retesting of a system or component to verify that modifications have not caused unintended effects and that the system or component still complies with its specified requirements. [ ISO/IEC 90003 ]
Regression Testing [ ISO/IEC 90003 ]: Testing required to determine that a change to a system component has not adversely affected functionality, reliability or performance and has not introduced additional defects.
Collection of new and/or changed configuration items which are tested and introduced into the live environment together. [ ISO/IEC 20000 ]
Release [ ISO/IEC/IEEE 24765 ]: A software version that is made formally available to a wider community.
Release [ IEEE 829, ISO/IEC 12207 ]: Particular version of a configuration item that is made available for a specific purpose.
Release [ IEEE 829 ]: The formal notification and distribution of an approved version.
The capability of the software product to maintain a specified level of performance in cases of software faults or of infringement of its specified interface. [ ISO/IEC 9126-1 ]
Reliability [ ISO/IEC/IEEE 24765 ]: The ability of a system or component to perform its required functions under stated conditions for a specified period of time.
Software Reliability [ ISO/IEC/IEEE 24765 ]: The probability[7] that software will not cause the failure of a system for a specified time under specified conditions.
[7] The probability is a function of the inputs to and use of the system as well as a function of the existence of faults in the software. The inputs to the system determine whether existing faults, if any, are encountered.
The capability of the software product to adhere to standards, conventions or regulations relating to reliability. [ ISO/IEC 9126-1 ]
Closeness of the agreement between the results of successive measurements of the same measurand carried out under the same conditions of measurement. [ ISO/IEC 14143 ]
Glossary:
Standards:
The capability of the software product to be used in place of another specified software product for the same purpose in the same environment. [ ISO/IEC 9126-1 ]
Closeness of the agreement between the results of measurements of the same measurand carried out under changed conditions of measurement. [ ISO/IEC 14143 ]
Glossary:
Standards:
Form or screen used to record details of a request for a change to any configuration item within a service or infrastructure. [ ISO/IEC 20000 ]
A type of procurement document whereby the buyer requests a potential seller to provide various pieces of information related to a product or service or seller capability. [ IEEE 1490 ]
A document used by the acquirer as a means to announce intention to potential bidders to acquire a specified system, product, or service. [ ISO/IEC 15288 ]
Request for Proposal [ IEEE 1362 ]: A request for services, research, or a product prepared by a customer and delivered to prospective developers with the expectation that prospective developers will respond with their proposed cost, schedule, and development approach.
Request for Proposal [ IEEE 1490 ]: A type of procurement document used to request proposals from prospective sellers of products or services. In some application areas, it may have a narrower or more specific meaning.
Request for Proposal [ ISO/IEC/IEEE 24765 ]: A collection of formal documents that includes a description of the desired form of response from a potential supplier, the relevant statement of work for the supplier, and required provisions in the supplier agreement.
A condition or capability that must be met or possessed by a system, system component, product, or service to satisfy an agreement, standard, specification, or other formally imposed documents. [ ISO/IEC/IEEE 24765 ]
Requirement [ ISO/IEC/IEEE 24765 ]: A condition or capability needed by a user to solve a problem or achieve an objective.
Requirement [ IEEE 1490 ]: A condition or capability that must be met or possessed by a system, product, service, result, or component to satisfy a contract, standard, specification, or other formally imposed document. Requirements include the quantified and documented needs, wants, and expectations of the sponsor, customer, and other stakeholders.
Software Requirement [ ISO/IEC/IEEE 24765 ]: A software capability needed by a user to solve a problem to achieve an objective.
Software Requirement [ ISO/IEC/IEEE 24765 ]: A software capability that must be met or possessed by a system or system component to satisfy a contract, standard, specification, or other formally imposed document.
The process of studying user needs to arrive at a definition of system, hardware, or software requirements. [ ISO/IEC/IEEE 24765 ]
Requirements Analysis [ ISO/IEC/IEEE 24765 ]: The process of studying and refining system, hardware, or software requirements.
Requirements Analysis [ ISO/IEC 2382 ]: A systematic investigation of user requirements to arrive at a definition of a system.
Requirements Analysis [ ISO/IEC/IEEE 24765 ]: Determination of product- or service-specific performance and functional characteristics based on analyses of customer needs, expectations, and constraints; operational concept; projected utilization environments for people, products, services, and processes; and measures of effectiveness
The changing or translation of a requirement through analysis into a form that is suitable for low-level analysis or design. [ ISO/IEC/IEEE 24765 ]
Document containing any combination of requirements or regulations to be met by a COTS software product. [ ISO/IEC 25051 ]
The science and discipline concerned with analyzing and documenting requirements. [ ISO/IEC/IEEE 24765 ]
Glossary:
Standards:
The separation or decomposing of a top-level requirement or design into successively lower-level detailed requirements or design. [ ISO/IEC/IEEE 24765 ]
A process or meeting during which the requirements for a system, hardware item, or software item are presented to project personnel, managers, users, customers, or other interested parties for comment or approval. [ ISO/IEC/IEEE 24765 ]
A document that specifies the requirements for a system or component. [ ISO/IEC/IEEE 24765 ]
Discernible association between a requirement and related requirements, implementations, and verifications. [ ISO/IEC/IEEE 24765 ]
Requirements Traceability [ ISO/IEC/IEEE 24765 ]: the identification and documentation of the derivation path (upward) and allocation/ flow-down path
(downward) of requirements in the requirements hierarchy.
A table that links requirements to their origin and traces them throughout the project life cycle. [ IEEE 1490 ]
Skilled human resources (specific disciplines either individually or in crews or teams), equipment, services, supplies, commodities, materiel, budgets, or funds. [ IEEE 1490 ]
Resource [ ISO/IEC 12207, ISO/IEC 15288 ]: Asset that is utilized or consumed during the execution of a process.
Resource [ ISO/IEC 15414 ]: A role (with respect to that action) in which the enterprise object fulfilling the role is essential to the action, requires allocation, or may become unavailable.
Resource [ ISO/IEC 15414 ]: An enterprise object which is essential to some behavior and which requires allocation or may become unavailable.
The capability of the software product to use appropriate amounts and types of resources when the software performs its function under stated conditions. [ ISO/IEC 9126-1 ]
An output from performing project management processes and activities. Results include outcomes (e.g., integrated systems, revised process, restructured organization, tests, trained personnel, etc.) and documents (e.g., policies, plans, studies, procedures, specifications, reports, etc.). [ IEEE 1490 ]
Withdrawal of active support by the operation and maintenance organization, partial or total replacement by a new system, or installation of an upgraded system. [ ISO/IEC 12207, ISO/IEC 15288 ]
Retirement [ ISO/IEC/IEEE 24765 ]: Removal of support from an operational system or component.
Retirement [ ISO/IEC/IEEE 24765 ]: Permanent removal of a system or component from its operational environment.
Determining what existing software will do and how it is constructed (to make intelligent changes). [ ISO/IEC/IEEE 24765 ]
Reverse Engineering [ ISO/IEC/IEEE 24765 ]: Software engineering approach that derives a system's design or requirements from its code.
An uncertain event or condition that, if it occurs, has a positive or negative effect on a project's objectives. [ IEEE 1490 ]
Risk [ IEEE 829 ]: The combination of the probability of an abnormal event or failure and the consequence(s) of that event or failure to a system's components, operators, users, or environment.
Risk [ ISO/IEC 15026 ]: A function of the probability of occurrence of a given threat and the potential adverse consequences of that threat's occurrence.
Risk [ IEEE 829 ]: The combination of the probability of occurrence and the consequences of a given future undesirable event.
Acknowledgment of a risk factor's existence along with a decision to accept the consequences if the corresponding problem occurs. [ ISO/IEC/IEEE 24765 ]
Risk Acceptance [ IEEE 1490 ]: A risk response planning technique that indicates that the project team has decided not to change the project management plan to deal with a risk, or is unable to identify any other suitable response strategy.
The process of examining identified risk factors for probability of occurrence, potential loss, and potential risk-handling strategies. [ ISO/IEC/IEEE 24765 ]
The degree to which a system or component can function correctly in the presence of invalid inputs or stressful environmental conditions. [ ISO/IEC/IEEE 24765 ]
The participation of an entity in a relationship. [ ISO/IEC 15474-1 ]
Role [ IEEE 1490 ]: A defined function to be performed by a project team member, such as testing, filing, inspecting, coding.
A subprogram that is called by other programs and subprograms. [ ISO/IEC/IEEE 24765 ]
Risk [ ISO/IEC/IEEE 24765 ]: A function or procedure invocable for a single purpose.
Risk [ ISO/IEC 2382 ]: A program, or part of a program, that may have some general or frequent use.
In software engineering, a single, usually continuous, execution of a computer program. [ ISO/IEC/IEEE 24765 ]
The capability of the software product to achieve acceptable levels of risk of harm to people, business, software, property or the environment in a specified context of use. [ ISO/IEC 9126-1 ]
Safety [ ISO/IEC/IEEE 24765, ISO/IEC 15026 ]: The expectation that a system does not, under defined conditions, lead to a state in which human life, health, property, or the environment is endangered.
The capability of the software product to satisfy users in a specified context of use. [ ISO/IEC 9126-1 ]
Ordered set of values, continuous or discrete, or a set of categories to which the attribute is mapped. [ ISO/IEC 99, ISO/IEC 15939, ISO/IEC 25000 ]
Scale [ ISO/IEC/IEEE 24765 ]: A set of values with defined properties.
:; Nominal: The measurement values are categorical. For example, the classification of defects by their type does not imply order among the categories.
:; Ordinal: The measurement values are rankings. For example, the assignment of defects to a severity level is a ranking.
:; Interval: The measurement values have equal distances corresponding to equal quantities of the attribute. For example, cyclomatic complexity has the minimum value of one, but each increment represents an additional path. The value of zero is not possible.
:; Ratio: The measurement values have equal distances corresponding to equal quantities of the attribute where the value of zero corresponds to none of the attribute. For example, the size of a software component in terms of LOC is a ratio scale because the value of zero corresponds to no lines of code and each additional increments represents equal amounts of code.
: These are just examples of the types of scales. Roberts[8] defines more types of scales. [ ISO/IEC 15939 ]
[8] F. Roberts. ''Measurement Theory with Applications to Decision Making, Utility, and the Social Sciences''. Addison-Wesley, 1979
The capability of the software product to protect information and data so that unauthorised persons or systems cannot read or modify them and authorised persons or systems are not denied access to them. [ ISO/IEC 12207, ISO/IEC 9126-1 ]
Security [ ISO/IEC 15026 ]: The protection of system items from accidental or malicious access, use, modification, destruction, or disclosure.
Security [ ISO/IEC 15288 ]: All aspects related to defining, achieving, and maintaining confidentiality, integrity, availability, non-repudiation, accountability, authenticity, and reliability of a system.
Glossary:
Standards:
Performance of activities, work, or duties associated with a product. [ ISO/IEC 12207, ISO/IEC 15939 ]
Software Service [ ISO/IEC 12207, ISO/IEC 15939 ]: Performance of activities, work, or duties connected with a software product, such as its development, maintenance, and operation.
Written agreement between a service provider and a customer that documents services and agreed service levels. [ ISO/IEC 20000 ]
The degree to which a system or component has a design and implementation that is straightforward and easy to understand. [ ISO/IEC/IEEE 24765 ]
Simplicity [ ISO/IEC/IEEE 24765 ]: Software attributes that provide implementation of functions in the most understandable manner.
All or part of the programs, procedures, rules, and associated documentation of an information processing system. [ ISO/IEC 2382, ISO/IEC 9126-1 ]
Software [ IEEE 829 ]: Computer programs, procedures, and possibly associated documentation and data pertaining to the operation of a computer system.
Software [ ISO/IEC 26514 ]: Program or set of programs used to run a computer.
Effective management, control and protection of software assets within an organization. [ ISO/IEC 19770 ]
The process by which user needs are translated into a software product. [ ISO/IEC/IEEE 24765 ]
The systematic application of scientific and technological knowledge, methods, and experience to the design, implementation, testing, and documentation of software. [ ISO/IEC 2382 ]
Software Engineering [ ISO/IEC/IEEE 24765 ]: the application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software; that is, the application of engineering to software.
Identifiable part of a software product. [ ISO/IEC 90003 ]
Software Item [ ISO/IEC/IEEE 24765 ]: An aggregation of software, such as a computer program or database, that satisfies an end use function and is designated for specification, qualification testing, interfacing, configuration management, or other purposes.
Software Item [ ISO/IEC 12207 ]: Source code, object code, control code, control data, or a collection of these items.
The period of time that begins when a software product is conceived and ends when the software is no longer available for use. [ ISO/IEC/IEEE 24765 ]
Software Life Cycle [ IEEE 1074 ]: The project-specific sequence of activities that is created by mapping the activities of this standard onto a
selected software life cycle model (SLCM).
Software Life Cycle [ IEEE 1362 ]: The system or product cycle initiated by a user need or a perceived customer need and terminated by discontinued use of the product.
Technical operation that consists of producing an assessment of one or more characteristics of a software product according to a specified procedure. [ ISO/IEC 25000 ]
Capability of a software product to satisfy stated and implied needs when used under specified conditions. [ ISO/IEC 25000 ]
Glossary:
Standards:
Category of software quality attributes that bears on software quality. [ ISO/IEC 25000 ]
Systematic examination of the extent to which a software product is capable of satisfying stated and implied needs. [ ISO/IEC 25000 ]
Measure of internal software quality, external software quality or software quality in use. IEEE 1490 ]
Glossary:
Standards:
A software library providing permanent, archival storage for software and related documentation. [ ISO/IEC/IEEE 24765 ]
Separately compilable piece of code. [ ISO/IEC 12207 ]
Software Unit [ ISO/IEC 12207 ]: The lowest element in one or more software components.
Computer instructions and data definitions expressed in a form suitable for input to an assembler, compiler, or other translator. [ ISO/IEC/IEEE 24765 ]
A document that specifies, in a complete, precise, verifiable manner, the requirements, design, behavior, or other characteristics of a system, component, product, result, or service and, often, the procedures for determining whether these provisions have been satisfied. [ IEEE 1490 ]
Specification [ ISO/IEC 2382 ]: A detailed formulation, in document form, which provides a definitive description of a system for the purpose of developing or validating the system.
Specification [ IEEE 1220 ]: A document that fully describes a design element or its interfaces in terms of requirements (functional, performance, constraints, and design characteristics) and the qualification conditions and procedures for each requirement.
The capability of the software product to avoid unexpected effects from modifications of the software. [ ISO/IEC 9126-1 ]
Period within the life cycle of an entity that relates to the state of its description or realization. [ ISO/IEC 12207, ISO/IEC 15288 ]
be overlapping. [ ISO/IEC/IEEE 24765 ]
Individual or organisation that sponsors measurement, provides data, is a user of the measurement results or otherwise participates in the measurement process. [ ISO/IEC 15939 ]
Stakeholder [ ISO/IEC 12207, ISO/IEC 15288, ISO/IEC 15939 ]: Individual or organization having a right, share, claim, or interest in a system or in its possession of characteristics that meet their needs and expectations.
Stakeholder [ IEEE 1490 ]: Person or organization (e.g. customer, sponsor, performing organization, or the public) that is actively involved in the project, or whose
interests may be positively or negatively affected by execution or completion of the project. A stakeholder may also exert influence over the project and its deliverables.
Set of mandatory requirements established by consensus and maintained by a recognized body to prescribe a disciplined uniform approach or specify a product, that is, mandatory conventions and practices. [ ISO/IEC/IEEE 24765 ]
Standard [ IEEE 1490 ]: A document that provides, for common and repeated use, rules, guidelines or characteristics for activities or their results, aimed at the achievement of the optimum degree of order in a given context.
The set of definitions of the basic processes that guide all processes in an organization. [ ISO/IEC 15504 ]
In a programming language, a meaningful expression that defines data, specifies program actions, or directs the assembler or compiler. [ ISO/IEC/IEEE 24765 ]
Testing designed to execute each statement of a computer program. [ ISO/IEC/IEEE 24765 ]
Document used by the acquirer to describe and specify the tasks to be performed under the contract. [ ISO/IEC 12207 ]
Statement of Work [ IEEE 1490 ]: A narrative description of products, services, or results to be supplied.
The process of evaluating a system or component based on its form, structure, content, or documentation. [ ISO/IEC/IEEE 24765 ]
Statistically based analysis of a process and measures of process performance, which identify common and special causes of variation in process performance and maintain process performance within limits. [ ISO/IEC/IEEE 24765 ]
'''Statistical Process Control''' is an effective method of monitoring a process through the use of control charts. In general, if a process exceeds the limits, we assume that it's out of control and the project team should search for special causes to deal with it. There are many kinds of charts, such as the <math>\bar{x}</math> chart and r-chart, etc.
=== The c-chart ===
The c-chart plots the number of defects in a process. If <math>C_i</math> denotes the number of defects obtained in the ith observation, the c-chart plots the data points at the height <math>C_1, C_2 ... C_n</math>. The c-chart also has a center line (CL) at height <math>\bar{C}</math> (the average of <math>C_i</math> and the following 3σ lines:
Upper Control Limit: <math>UCL = \bar{C} + 3\sqrt{\bar{C}}</math>
Lower Control Limit: <math>LCL = \bar{C} - 3\sqrt{\bar{C}}</math>
If LCL is negative, it is set to zero. The c-chart assumes the Poisson distribution of defects and is thus approximative.
Use of SPC in software engineering is still under debate. One major issue is that formal SPC requires data to be independent variables from homogeneous sources of variation. As exposed in Software Engineering Metrics: What Do They Measure And How Do We Know, software engineering data is often affected by many variations sources. Furthermore, software engineering is domain-specific (requirements may vary from one domain to another) and limits may vary.
One element (numbered list item) in a procedure that tells a user to perform an action (or actions). [ ISO/IEC 26514 ]
Step [ ISO/IEC 15414 ]: An abstraction of an action, used in a process, that may leave unspecified objects that participate in that action.
Testing conducted to evaluate a system or component at or beyond the limits of its specified requirements. [ ISO/IEC/IEEE 24765 ]
Testing that takes into account the internal mechanism of a system or component. Syn: glass-box testing, white-box testing. [ ISO/IEC/IEEE 24765 ]
A skeletal or special-purpose implementation of a software module, used to develop or test a module that calls or is otherwise dependent on it. [ ISO/IEC/IEEE 24765 ]
Stub [ ISO/IEC/IEEE 24765 ]: A computer program statement substituting for the body of a software module that is or will be defined elsewhere.
Stub [ ISO/IEC/IEEE 24765 ]: Scaffolding code written for the purpose of exercising higher-level code before the lower-level routines that will ultimately be used are available.
The capability of the software product to provide an appropriate set of functions for specified tasks and user objectives. [ ISO/IEC 9126-1 ]
Organisation that enters into an agreement with the acquirer for the supply of a system, software product or software service under the terms of that agreement. [ ISO/IEC 9126, ISO/IEC 12207, ISO/IEC 15939 ]
The set of activities necessary to ensure that an operational system or component fulfills its original requirements and any subsequent modifications to those requirements. [ ISO/IEC/IEEE 24765 ]
Software Support [ ISO 9127 ]: The act of maintaining the software and its associated documentation in a functional state.
A document that provides the information necessary to service and maintain an operational system or component throughout its life cycle. [ ISO/IEC/IEEE 24765 ]
Glossary:
Standards:
Integrated composite that consists of one or more of the processes, hardware, software, facilities and people, that provides a capability to satisfy a stated need or objective. [ ISO/IEC 9126, ISO/IEC 12207, ISO/IEC 15939 ]
Software System [ IEEE 1362 ]: A software-intensive system for which software is the only component to be developed or modified.
Testing conducted on a complete, integrated system to evaluate the system's compliance with its specified requirements. [ IEEE 829 ]
The activities required to achieve a goal. [ ISO/IEC 9126 ]
Task [ ISO/IEC 12207, ISO/IEC 15288 ]: Required, recommended, or permissible action, intended to contribute to the achievement of one or more outcomes of a process.
Task [ ISO/IEC/IEEE 24765 ]: In software design, a [[Software Component|software component that can operate in parallel with other software components.
Task [ ISO/IEC/IEEE 24765 ]: A concurrent object with its own thread of control.
Task [ ISO/IEC/IEEE 24765 ]: A sequence of instructions treated as a basic unit of work by the supervisory program of an operating system.
Task [ IEEE 829 ]: Smallest unit of work subject to management accountability; a well-defined work assignment for one or more project members.
Glossary:
Standards:
Requirements relating to the technology and environment, for the development, maintenance, support and execution of the software. [ ISO/IEC/IEEE 24765 ]
Methods and skills required to carry out a specific activity. [ ISO/IEC 25001, ISO/IEC 12207, ISO/IEC 15939 ]
Technique [ ISO/IEC/IEEE 24765 ]: Technical or managerial procedure that aids in the evaluation and improvement of the software development process.
Technique [ IEEE 1490 ]: A defined systematic procedure employed by a human resource to perform an activity to produce a product or result or deliver a service, and that may employ one or more tools.
An activity in which a system or component is executed under specified conditions, the results are observed or recorded, and an evaluation is made of some aspect of the system or component. [ ISO/IEC/IEEE 24765 ]
Test [ IEEE 829 ]: A set of one or more test cases and procedures.
A set of inputs, execution preconditions, and expected outcomes developed for a particular objective to exercise a particular program path or to verify compliance with a specific requirement. [ IEEE 1012, SIGIST ]
Test Case [ IEEE 610.12 ]: A documented instruction for the tester that specifies how a function or a combination of functions shall or should be tested. A test case includes detailed information on the following issues:
Extent to which the test cases test the requirements for the system or software product. [ ISO/IEC 12207 ]
Test Coverage [ ISO/IEC/IEEE 24765 ]: The degree to which a given test or set of tests addresses all specified requirements for a given system or component.
Glossary:
Standards:
Collection of the documentation inherent to the testing activities. [ ISO/IEC 25051 ]
Test Documentation [ ISO/IEC/IEEE 24765 ]: Documentation describing plans for, or results of, the testing of a system or component.
Hardware and software configuration necessary to conduct the test case. [ ISO/IEC 25051 ]
Identified set of software features to be measured under specified conditions by comparing actual behavior with the required behavior. [ ISO/IEC 25051, ISO/IEC 25062 ]
A document describing the scope, approach, resources, and schedule of intended test activities. [ IEEE 1012, ISO/IEC 12207, ISO/IEC 15939 ]
Test Plan [ IEEE 1012 ]: A document that describes the technical and management approach to be followed for testing a system or component.
Test Plan [ ISO/IEC 2382 ]: A plan that establishes detailed requirements, criteria, general methodology, responsibilities, and general planning for test and evaluation of a system.
Detailed instructions for the setup, execution, and evaluation of results for a given test case. [ IEEE 1012 ]
Test Procedure [ IEEE 1012 ]: Documentation that specifies a sequence of actions for the execution of a test.
The capability of the software product to enable modified software to be validated. [ ISO/IEC 9126-1 ]
Testability [ ISO/IEC 12207 ]: Extent to which an objective and feasible test can be designed to determine whether a requirement is met.
Testability [ IEEE 1233 ]: The degree to which a requirement is stated in terms that permit establishment of test criteria and performance of tests to determine whether those criteria have been met.
Testability [ ISO/IEC/IEEE 24765 ]:
Glossary:
Standards:
Activity in which a system or component is executed under specified conditions, the results are observed or recorded, and an evaluation is made of some aspect of the system or component. [ IEEE 829 ]
Software Testing [ ISO/IEC 19759 ]: The dynamic verification of the behavior of a program on a finite set of test cases, suitably selected from the usually infinite executions domain, against the expected behavior.
Glossary:
Standards:
Description of the test execution conditions (i.e. test procedure). [ ISO/IEC 25051, ISO/IEC 25062 ]
The capability of the software product to provide appropriate response and processing times and throughput rates when performing its function, under stated conditions. [ ISO/IEC 9126-1 ]
A software product that provides support for software and system life cycle processes. [ ISO/IEC 15474 ]
Tool [ IEEE 1490 ]: Something tangible, such as a template or software program, used in performing an activity to produce a product or result.
A holistic approach to quality improvement in all life-cycle phases. [ ISO/IEC/IEEE 24765 ]
The degree to which a relationship can be established between two or more products of the development process, especially products having a predecessor-successor or master-subordinate relationship to one another. [ IEEE 1233 ]
Traceability [ IEEE 1362 ]: The identification and documentation of derivation paths (upward) and allocation or flowdown paths (downward) of work products in the work product hierarchy.
Traceability [ ISO/IEC/IEEE 24765 ]: The degree to which each element in a software development product establishes its reason for existing.
Traceability [ ISO/IEC/IEEE 24765 ]: Discernible association among two or more logical entities, such as requirements, system elements, verifications, or tasks.
Having components whose origin can be determined. [ ISO/IEC 12207 ]
The software's main line of development; the main starting point of most branches. [ ISO/IEC/IEEE 24765 ]
The capability of the software product to enable the user to understand whether the software is suitable, and how it can be used for particular tasks and conditions of use. [ ISO/IEC 9126-1 ]
Understandability [ ISO/IEC/IEEE 24765 ]: The ease with which a system can be comprehended at both the system-organizational and detailed-statement levels.
Testing of individual routines and modules by the developer or an independent tester. [ ISO/IEC/IEEE 24765 ]
Unit Test [ ISO/IEC 2382 ]: A test of individual programs or modules in order to ensure that there are no analysis or programming errors.
Unit Test [ ISO/IEC/IEEE 24765 ]: A test of individual hardware or software units or groups of related units.
Particular quantity, defined and adopted by convention, with which other quantities of the same kind are compared in order to express their magnitude relative to that quantity. [ ISO/IEC 99, ISO/IEC 15939, ISO/IEC 25000 ]
The capability of the software product to be understood, learned, used and attractive to the user, when used under specified conditions. [ ISO/IEC 9126-1 ]
Usability [ ISO/IEC/IEEE 24765 ]: The ease with which a user can learn to operate, prepare inputs for, and interpret outputs of a system or component.
Usability [ ISO/IEC 25062 ]: The extent to which a product can be used by specified users to achieve specified goals with effectiveness, efficiency and satisfaction in a specified context of use.
Glossary:
Standards:
The capability of the software product to adhere to standards, conventions, style guides or regulations relating to usability. [ ISO/IEC 9126-1 ]
Individual or organisation that uses the system to perform a specific function. [ ISO/IEC 12207, ISO/IEC 15939 ]
User [ ISO/IEC 9126 ]: An individual that uses the software product to perform a specific function.
User [ ISO/IEC 26514 ]: Person who performs one or more tasks with software; a member of a specific audience.
User [ ISO/IEC 25062 ]: Person who interacts with the product.
User [ IEEE 1362 ]: Individual or organization who uses a software-intensive system in daily work activities or recreational pursuits.
User [ ISO/IEC 15288, ISO/IEC 15939 ]: Individual or group that benefits from a system during its utilization.
User [ ISO/IEC 14143, ISO/IEC 29881 ]: Any person or thing that communicates or interacts with the software at any time.
Documentation for users of a system, including a system description and procedures for using the system to obtain desired results. [ ISO/IEC/IEEE 24765 ]
User Documentation [ ISO/IEC 26514 ]: Information to describe, explain, or instruct how to use software.
A document that presents the information necessary to employ a system or component to obtain desired results. [ ISO/IEC/IEEE 24765 ]
User Manual [ ISO/IEC 2382 ]: A document that describes how to use a functional unit, and that may include description of the rights and responsibilities of the user, the owner, and the supplier of the unit.
Determination of the correctness of the products of software development with respect to the user needs and requirements. [ SIGIST ]
Validation [ ISO 8402, ISO/IEC 9126-1 ]: Confirmation by examination and provision of objective evidence that the particular requirements for a specific intended use are fulfilled.
Validation [ ISO/IEC 15288 ]: Confirmation, through the provision of objective evidence, that the requirements for a specific intended use or application have been fulfilled.
Validation [ IEEE 1012 ]: The process of providing evidence that the software and its associated products satisfy system requirements allocated to software at the end of each life cycle activity, solve the right problem, and satisfy intended use and user needs.
Validation [ ISO/IEC 12207 ]: In a life cycle context, the set of activities ensuring and gaining confidence that a system is able to accomplish its intended use, goals and objectives.
Validation [ IEEE 1233 ]: The process of evaluating a system or component during or at the end of the development process to determine whether a system or component satisfies specified requirements.
Validation [ IEEE 1490 ]: The assurance that a product, service, or system meets the needs of the customer and other identified stakeholders. It often involves acceptance and suitability with external customers.
Number or category assigned to an attribute of an entity by making a measurement. [ ISO/IEC 25000 ]
Value [ ISO/IEC 15939 ]: Numerical or categorical result assigned to a base measure, derived measure, or indicator. [ ISO/IEC 15939 ]
Glossary:
Standards:
Confirmation, through the provision of objective evidence, that specified requirements have been fulfilled. [ ISO/IEC 12207, ISO/IEC 15288, ISO/IEC 25000 ]
Verification [ IEEE 1012, SIGIST ]: The process of evaluating a system or component to determine whether the products of a given development phase satisfy the conditions imposed at the start of that phase.
Verification [ ISO 8402, ISO/IEC 9126 ]: Confirmation by examination and provision of objective evidence that specified requirements have been fulfilled.
Verification [ ISO/IEC/IEEE 24765 ]: Formal proof of program correctness.
Verification [ IEEE 1490 ]: The evaluation of whether or not a product, service, or system complies with a regulation, requirement, specification, or imposed condition. It is often an internal process.
Verification [ IEEE 829 ]: Process of providing objective evidence that the software and its associated products comply with requirements (e.g., for correctness, completeness, consistency, and accuracy) for all life cycle activities during each life cycle process (acquisition, supply, development, operation, and maintenance), satisfy standards, practices, and conventions during life cycle processes, and successfully complete each life cycle activity and satisfy all the criteria for initiating succeeding life cycle activities (e.g., building the software correctly).
Identified instance of an item. [ ISO/IEC 12207 ]
Version [ ISO/IEC/IEEE 24765 ]: An initial release or re- release of a computer software configuration item, associated with a complete compilation or recompilation of the computer software configuration item.
Version [ ISO/IEC/IEEE 24765 ]: An initial release or complete re- release of a document, as opposed to a revision resulting from issuing change pages to a previous release.
Version [ ISO/IEC/IEEE 24765 ]: An operational software product that differs from similar products in terms of capability, environmental requirements, and configuration.
Version [ ISO/IEC/IEEE 24765 ]: An identifiable instance of a specific file or release of a complete system.
A deliverable-oriented hierarchical decomposition of the work to be executed by the project team to accomplish the project objectives and create the required deliverables. It organizes and defines the total scope of the project. [ IEEE 1490 ]
An artifact associated with the execution of a process. [ ISO/IEC 15504 ]
Work Product [ IEEE 1058 ]: A tangible item produced during the process of developing or modifying software.
Table of Contents
CMMi stands for '''Capability Maturity Model Integration'''.
CMMi is a process developed by the Carnegie Mellon Software Engineering Institute.
Military Standard - Defense System Software Development
DOD-STD-2167A.
International Standard IEC 61508
Functional safety of electrical / electronic / programmable electronic safety related systems
Year: 1998, 2000, 2002, 2010
Part 1: General requirements
Part 2: Requirements for electrical/electronic/programmable electronic safety-related systems
Part 4: Definitions and abbreviations
Part 5: Examples of methods for the determination of safety integrity levels
Part 6: Guidelines on the application of IEC 61508-2 and IEC 61508-3
International Standard IEC 61508-3
Functional safety of electrical / electronic / programmable electronic safety related systems
Part 3: Software requirements
Year: 1998
International Standard IEC 61508-7
Functional safety of electrical / electronic / programmable electronic safety related systems
Part 7: Overview on techniques and measures
Year: 2000
International Standard IEEE 1012
IEEE Standard for Software Verification and Validation
Year: 1986
This standard has been superseded.
Online IEEE Catalog: http://standards.ieee.org/findstds/standard/1012-1998.html
International Standard IEEE 1058
IEEE Standard for Software Project Management Plans
Year: 1998
Online IEEE Catalog: http://standards.ieee.org/findstds/standard/1058-1998.html
International Standard IEEE 1061
Standard for a Software Quality Metrics Methodology
Year: 1998
Online IEEE Catalog: http://standards.ieee.org/findstds/standard/1061-1998.html
International Standard IEEE 1074
IEEE Standard for Developing Software Life Cycle Processes
Year: 1997
This standard has been superseded.
Online IEEE Catalog: http://standards.ieee.org/findstds/standard/1074-1997.html
International Standard IEEE 1220-2005
1220-2005 - IEEE Standard for Application and Management of the Systems Engineering Process
Year: 2005
Online IEEE Catalog: http://standards.ieee.org/findstds/standard/1220-2005.html
International Standard IEEE 1233
IEEE Guide for Developing System Requirements Specifications
Year: 1996
Online IEEE Catalog: http://standards.ieee.org/findstds/standard/1233-1996.html
International Standard IEEE 1320.2
IEEE Standard for Conceptual Modeling Language - Syntax and Semantics for IDEF1X97 (IDEFobject)
Years: 1998
International Standard IEEE 1362
IEEE Guide for Information Technology - System Definition - Concept of Operations (ConOps) Document
Year: 1998
Online IEEE Catalog: http://standards.ieee.org/findstds/standard/1362-1998.html
International Standard IEEE 1490
IEEE Guide Adoption of PMI Standard - A Guide to the Project Management Body of Knowledge
Year: 2003
This standard has been withdrawn.
Online IEEE Catalog: http://standards.ieee.org/findstds/standard/1490-2003.html
International Standard IEEE 610.12
Standard Glossary of Software Engineering Terminology
Year: 1990
Online IEEE Catalog: http://standards.ieee.org/findstds/standard/610.12-1990.html
International Standard IEEE 829
IEEE Standard for Software Test Documentation
Year: 1983.
This standard has been superseded.
International Standard IEEE 830
IEEE Recommended Practice for Software Requirements Specifications
Year: 1998.
International Standard IEEE 982
IEEE Standard Dictionary of Measures to Produce Reliable Software
Year: 1988.
International Standard ISO 5806
Information processing -- Specification of single-hit decision tables
Year: 1984
International Standard ISO 9001.
Quality systems - Model for quality assurance in design, development, production, installation and servicing
Year: 1994, 2000, 2008.
International Standard ISO 9127
Information processing systems -- User documentation and cover information for consumer software packages
Year: 1988.
Online ISO catalog:
International Standard ISO 9241
Ergonomic requirements for office work with visual display terminals (VDTs)
Years: 1992-2011.
The following parts link to the online ISO catalog:
International Standard ISO 9241-10
Ergonomic requirements for office work with visual display terminals (VDTs)
Part 10: Dialogue principles
Year: 1996.
This standard is withdrawn, and revised by ISO 9241-110:2006
Online ISO Catalog: http://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_detail.htm?csnumber=16882
International Standard ISO 9241-11
Ergonomic requirements for office work with visual display terminals (VDTs)
Part 11: Guidance on usability
Year: 1998.
Extract from www.ansi.org:
ISO 9241-11 defines usability and explains how to identify the information which is necessary to take into account when specifying or evaluating usability of a visual display terminal in terms of measures of user performance and satisfaction. Guidance is given on how to describe the context of use of the product (hardware, software or service) and the relevant measures of usability in an explicit way. The guidance is given in the form of general principles and techniques, rather than in the form of requirements to use specific methods.
The guidance in ISO 9241-11 can be used in procurement, design, development, evaluation, and communication of information about usability. ISO 9241-11 includes guidance on how the usability of a product can be specified and evaluated. It applies both to products intended for general application and products being acquired for or being developed within a specific organization.
ISO 9241-11 also explains how measures of user performance and satisfaction can be used to measure how any component of a work system affects the whole work system in use. The guidance includes procedures for measuring usability but does not detail all the activities to be undertaken. Specification of detailed user-based methods of measurement is beyond the scope of ISO 9241-11, but further information can be found in Annex B and the bibliography in Annex E.
ISO 9241-11 applies to office work with visual display terminals. It can also apply in other situations where a user is interacting with a product to achieve goals. ISO 9241 parts 12 to 17 provide conditional recommendations which are applicable in specific contexts of use. The guidance in this Part of ISO 9241 can be used in conjunction with ISO 9241 Parts 12 to 17 in order to help identify the applicability of individual recommendations.
ISO 9241-11 focuses on usability and does not provide comprehensive coverage of all objectives of ergonomic design referred to in ISO 6385. However, design for usability will contribute positively to ergonomic objectives, such as the reduction of possible adverse effects of use on human health, safety and performance.
ISO 9241-11 does not cover the processes of system development. Human-centred design processes for interactive systems are described in ISO 13407.
Online ISO catalog:
International Standard ISO/IEC 12207
Information technology -- Software lifecycle processes
Year: 1995, 2008.
Online ISO/IEC Catalog: http://www.iso.org/iso/catalogue_detail.htm?csnumber=43447
International Standard ISO/IEC 14143
Information technology -- Software measurement -- Functional size measurement
International Standard ISO/IEC 14143-1
Information technology -- Software measurement -- Functional size measurement
Part 1: Definition of concepts
Years: 1998, 2007.
Online ISO catalog:
International Standard ISO/IEC 14143-1
Information technology -- Software measurement -- Functional size measurement
Part 3: Verification of functional size measurement methods
Year: 2003.
Online ISO catalog:
International Standard ISO/IEC 14598.
Information technology -- Software product evaluation
Online ISO/IEC catalog:
International Standard ISO/IEC 14598-1
Information technology - Software product evaluation
Part 1: General overview
Year: 1999
This standard is revised by the ISO/IEC 25040:2011 standard.
Online ISO catalog:
International Standard ISO/IEC 14598-2
Information technology - Software product evaluation
Part 2: Planning and management
Year: 2000.
This standard is revised by the ISO/IEC 25001:2007 standard.
Online ISO catalog:
International Standard ISO/IEC 14598-3
Information technology - Software product evaluation
Part 3: Process for developers
Year: 2000.
Online ISO catalog:
International Standard ISO/IEC 14598-4
Information technology - Software product evaluation
Part 4: Process for acquirers
Year: 1999.
Online ISO catalog:
International Standard ISO/IEC 14598-5
Information technology - Software product evaluation
Part 5: Process for evaluators
Year: 1998
Online ISO catalog:
International Standard ISO/IEC 14598-6
Information technology - Software product evaluation
Part 6: Documentation of evaluation modules
Year: 2001.
This standard is revised by the ISO/IEC DIS 25041 standard.
Online ISO catalog:
International Standard ISO/IEC 14756
Information technology -- Measurement and rating of performance of computer-based software systems
Year: 1999
International Standard ISO/IEC 14764
Software Engineering -- Software Life Cycle Processes -- Maintenance
Years: 1999, 2006.
Online IEEE Catalog:
International Standard ISO/IEC 15026
Information technology -- System and software integrity levels
Year: 1998, 2010, 2011.
International Standard ISO/IEC 15026-1
Systems and software engineering -- Systems and software assurance -- Part 1: Concepts and vocabulary
Year: 2010.
International Standard ISO/IEC 15026-2
Systems and software engineering -- Systems and software assurance -- Part 2: Assurance case
Year: 2011.
International Standard ISO/IEC 15288.
Systems and software engineering -- System life cycle processes
Years: 2002.
International Standard ISO/IEC 15289.
Systems and software engineering -- Content of systems and software life cycle process information products (Documentation)
Year: 2006.
This standard is revised by the ISO/IEC/IEEE 15289 standard.
International Standard ISO/IEC 15414
Information technology -- Open distributed processing -- Reference model -- Enterprise language
Years: 2002, 2006.
International Standard 15474-1
Information technology -- CDIF framework
Part 1: Overview
Year: 2002.
Online ISO catalog:
International Standard 15474-2
Information technology -- CDIF framework
Part 2: Modelling and extensibility
Year: 2002.
Online ISO catalog:
International Standard ISO/IEC 15504.
Information technology - Software Process Assessment
Also known as SPICE -- Software Process Improvement and Capability dEtermination.
Years: 1998, 2003, 2004, 2008.
International Standard ISO/IEC 15504.
Information technology - Software Process Assessment
Part 1: Concepts and vocabulary
Year: 1998, 2004.
This standard revises the ISO/IEC TR 15504-1:1998 and ISO/IEC TR 15504-9:1998 standards.
Online ISO catalog:
International Standard ISO/IEC 15504.
Information technology - Software Process Assessment
Part 2: Performing an assessment
Year: 1998, 2003.
This standard revises the ISO/IEC TR 15504-2:1998 and ISO/IEC TR 15504-3:1998 standards.
Online ISO catalog:
International Standard ISO/IEC 15504.
Information technology - Software Process Assessment
Part 3: Guidance on performing an assessment
Year: 1998, 2004.
This standard revises the ISO/IEC TR 15504-4:1998 and ISO/IEC TR 15504-6:1998 standards.
Online ISO catalog:
International Standard ISO/IEC 15504.
Information technology - Software Process Assessment
Part 4: Guidance on use for process improvement and process capability determination
Year: 1998, 2004.
This standard revises the ISO/IEC TR 15504-7:1998 and ISO/IEC TR 15504-8:1998 standards.
Online ISO catalog:
International Standard ISO/IEC 15504.
Information technology - Software Process Assessment
Part 5: An exemplar Process Assessment Model
Year: 1998, 2006.
This standard revises the ISO/IEC TR 15504-5:1998 standard.
Online ISO catalog:
International Standard ISO/IEC 15504.
Information technology - Software Process Assessment
Part 6: An exemplar system life cycle process assessment model
Year: 1998, 2008.
Online ISO catalog:
International Standard ISO/IEC 15504.
Information technology - Software Process Assessment
Part 7: Assessment of organizational maturity
Year: 1998, 2008.
Online ISO catalog:
International Standard ISO/IEC 15846
Information technology -- Software life cycle processes -- Configuration Management
Year: 1998.
This standard has been withdrawn.
Online ISO Catalog:
International Standard ISO/IEC 15910.
Information technology -- Software user documentation process
Year:1999.
This standard is revised by the ISO/IEC 26512:2011 standard.
Extract from www.techstreet.com:
This International Standard specifies the minimum process for creating all forms of user documentation for software which has a user interface. Such forms of documentation include printed documentation (e.g. user manuals and quick-reference cards), on-line documentation, help text and on-line documentation systems.
This International Standard conforms with ISO/IEC 12207:1995, Information technology Software life cycle processes, as an implementation of the user documentation part of 6.1: Documentation.
If effectively applied, this International Standard will support the development of documentation which meets the needs of the users.
This International Standard is intended for use by anyone who produces or buys user documentation.
This International Standard is applicable to not only printed documentation, but also help screens, the help delivery system, and the on-line text and delivery system.
This International Standard is intended for use in a two-party situation and may be equally applied where the two parties are from the same organization. The situation may range from an informal agreement up to a legally binding contract. This International Standard may be used by a single party as self-imposed tasks.
International Standard ISO/IEC 15939
Software engineering - Software measurement process
Year: 2002, 2007.
International Standard ISO/IEC 19759
Software Engineering -- Guide to the Software Engineering Body of Knowledge (SWEBOK)
Year: 2005.
Online ISO catalog:
International Standard ISO/IEC 19770
Information technology -- Software asset management
International Standard ISO/IEC 19770-1
Information technology -- Software asset management
Part 1: Processes
Year: 2006.
International Standard ISO/IEC 19770-2
Information technology -- Software asset management
Part 2: Software identification tag
Year: 2009.
Online ISO catalog:
International Standard ISO/IEC 20000
Information technology -- Service management
This list links to the online ISO catalog:
International Standard ISO/IEC 2382
Information processing systems -- Vocabulary
International Standard ISO/IEC 2382
Information technology - Vocabulary
Part 1: Fundamental terms
Year: 1993.
International Standard ISO/IEC 25000
Software Engineering -- Software product Quality Requirements and Evaluation (SQuaRE) -- Guide to SQuaRE.
year: 2005.
This series of standards revises the ISO/IEC 9126 and ISO/IEC 14598 series.
International Standard ISO/IEC 25001
Software engineering -- Software product Quality Requirements and Evaluation (SQuaRE) -- Planning and management
year: 2007.
This standard revises the ISO/IEC 14598-2.
International Standard ISO/IEC 25010
Systems and software engineering -- Systems and software Quality Requirements and Evaluation (SQuaRE) -- System and software quality models
year: 2011.
International Standard ISO/IEC 25012
Software engineering -- Software product Quality Requirements and Evaluation (SQuaRE) -- Data quality model
year: 2008.
International Standard ISO/IEC 25020
Software engineering -- Software product Quality Requirements and Evaluation (SQuaRE) -- Measurement reference model and guide
Year: 2007.
International Standard ISO/IEC 25021
Software engineering -- Software product Quality Requirements and Evaluation (SQuaRE) -- Quality measure elements
Year: 2007.
International Standard ISO/IEC 25030
Software engineering -- Software product Quality Requirements and Evaluation (SQuaRE) -- Quality requirements
year: 2007.
International Standard ISO/IEC 25040
Systems and software engineering -- Systems and software Quality Requirements and Evaluation (SQuaRE) -- Evaluation process
year: 2011.
This standard revises the ISO/IEC 14598-1 standard.
International Standard ISO/IEC 25045
Systems and software engineering -- Systems and software Quality Requirements and Evaluation (SQuaRE) -- Evaluation module for recoverability
Year: 2010.
International Standard ISO/IEC 25000
Software engineering -- Software product Quality Requirements and Evaluation (SQuaRE) -- Requirements for quality of Commercial Off-The-Shelf (COTS) software product and instructions for testing
year: 2006, 2007.
This standard revises the ISO/IEC 12119 standard.
International Standard ISO/IEC 25060
Systems and software engineering -- Systems and software product Quality Requirements and Evaluation (SQuaRE) -- Common Industry Format (CIF) for usability: General framework for usability-related information
Year: 2010.
International Standard ISO/IEC 25062
Software engineering -- Software product Quality Requirements and Evaluation (SQuaRE) -- Common Industry Format (CIF) for usability test reports
Year: 2006.
International Standard ISO/IEC 26514
Systems and software engineering -- Requirements for designers and developers of user documentation
Year: 2008
Online IEEE Catalog: http://www.iso.org/iso/catalogue_detail?csnumber=43073
International Standard ISO/IEC/IEEE 29881
Information Technology — Software and Systems Engineering
Year: 2008, 2010
International Standard ISO/IEC 90003
Software engineering -- Guidelines for the application of ISO 9001:2000 to computer software
Year: 2004
Online IEEE Catalog: http://www.iso.org/iso/catalogue_detail?csnumber=35867
International Standard ISO/IEC 9126
Software engineering -- Product quality
Years: 1991, 2001
This standard is revised by ISO/IEC 25010:2011.
International Standard ISO/IEC 9126-1
Software engineering -- Product quality
Part 1: Quality Model
Years: 1991, 2001.
This standard is revised by ISO/IEC 25010:2011.
Online ISO Catalog:
International Standard ISO/IEC 9126-2
Software engineering -- Product quality
Part 2: External metrics
Years: 1991, 2001.
This standard is revised by ISO/IEC 25010:2011.
Online ISO Catalog:
International Standard ISO/IEC 9126-3
Software engineering -- Product quality
Part 3: Internal metrics
Years: 1991, 2001.
This standard is revised by ISO/IEC 25010:2011.
Online ISO catalog:
International Standard ISO/IEC 9126-4
Software engineering -- Product quality
Part 4: Quality in use metrics
Years: 1991, 2001, 2004.
This standard is revised by ISO/IEC 25010:2011.
Online ISO catalog:
International Standard ISO/IEC 9294
Information technology -- Guidelines for the management of software documentation
Years: 1990, 2005.
Online ISO catalog:
International Standard ISO/IEC 99
International vocabulary of metrology -- Basic and general concepts and associated terms
Years: 1993, 2007.
International Standard ISO/IEC SQuaRE
Systems and software Quality Requirements and Evaluation (SQuaRE)
SQuaRE is a series of International Standards (25000-25099) edited by the ISO/IEC organisation and related to Systems and Software Quality.
It is composed of the following ISO/IEC standards:
They are meant to replace older standards addressing the same topics, mainly (but not only) ISO/IEC 9126 and ISO/IEC 14598.
International Standard ISO/IEC/IEEE 15289.
Systems and software engineering -- Content of life-cycle information products (documentation)
Years: 2006, 2011.
This standard revises the ISO/IEC 15289 standard.
Online ISO catalog:
International Standard ISO/IEC/IEEE 24765
Systems and software engineering — Vocabulary
First edition: 2010-12-15
Online IEEE Catalog: http://www.iso.org/iso/catalogue_detail.htm?csnumber=50518
Software Considerations in Airborne Systems and Equipments Certification
Requirements and Technical Concepts for Aviation - RTCA SC167/DO-178B
European Organization for Civil Aviation Electronics - EUROCAE ED-12B
Glossary of terms used in Software testing
British Computer Society - Specialist Interest Group In Software Testing
Team Software Process is a process developed by the Carnegie-Mellon Software Engineering Institute.
The Team Software Process (TSP) helps engineering teams develop and deliver high-quality software-intensive systems within planned cost and schedule commitments. TSP integrates software engineering, estimating, planning and tracking, quality management, and self-directed teaming concepts into a defined process and measurement framework. TSP was designed to be easily integrated with an organization’s existing practices, and complements CMMI.
= See also =