Operation Value | Definition |
---|---|
Declare | Specify name and data type of an object; name, return data type, and parameters of a function; or name and type parameters of a data type. |
Define | Specify data of an object; implementation of a function; or member objects and functions of a data type. |
Improper Operation | ||
---|---|---|
Value | Definition | Examples |
Missing | The operation is absent. | Missing:
|
Wrong | An inappropriate data type is specified; or an inappropriate function/operator is used. |
|
Erroneous | The Type System or a compute function implementation has a bug. |
|
Operands | |
---|---|
Concept | Definition |
Data Value | A numeric, text, pointer/address, or boolean value stored in an object’s memory. |
Data Type | A set of allowed values and the operations allowed over them. |
Function | An organized block of code that when called takes in data, processes it, and produces a result(s). |
Improper Data Type | |
---|---|
Concept | Definition |
Wrong Type | Data type range or structure is not correct. |
Wrong Type Resolved | Data type is resolved from wrong scope. |
Wrong Object Resolved Type | Object is resolved from wrong scope,so it’s data type might be wrong. |
Wrong Sign Type | Unsigned instead of signed data type is specified or vise versa. |
Wrong Precision Type | Higher precision data type is needed (e.g. double instead of float ). |
Incomplete Type | Specific constructor, method, or overloaded function is missing. |
Mismatched Argument Type | Argument’s data type is different from function’s parameter data type. |
Wrong Generic Type | Generic object instantiated via wrong type argument. |
Confused Subtype | Object invoking an overriden function is of wrong subtype data type. |
Wrong Argument Type | Argument to an overloaded function is of wrong data type. |
Improper Function | |
---|---|
Concept | Definition |
Missing Overridden Function | Function implementation in a particular subclass is absent. |
Missing Overloaded Function | Implementation for particular function parameters’ data types is absent. |
Wrong Function Resolved | Function is resolved from wrong scope. |
Wrong Generic Function Bound | Implementation for a wrong data type is bound due to wrong generic type arguments. |
Wrong Overridden Function Bound | Implementation from wrong subtype is bound due to a wrong invoking subtype object. |
Wrong Overloaded Function Bound | Wrong overloaded implementation is bound due to wrong function arguments. |
Access Errors | |
---|---|
Value | Definition |
Wrong Access Object | Unauthorized access to an object exposes sensitive data or allows access to member functions. |
Wrong Access Type | Unauthorized access to a data type allows access to member objects and functions. |
Wrong Access Function | Unauthorized access to a function. |
Name | Value | Definition |
---|---|---|
Source Code | Codebase | The operation is in programmer’s code – in the application itself. |
Third Party | The operation is in a third party library. | |
Standard Library | The operation is in the standard library for a particular programming language. | |
Compiler/Interpreter | The operation is in the language processor that allows execution or creates executables (compiler, assembler, interpreter). | |
Data Type Kind | Primitive | Mimics the hardware units and is not built from other data types – e.g. int (long, short, signed), float, double, string, boolean. |
Structured | Builds of other data types; have members of primitive and/or structured data types – e.g. array, record, struct, union, class, interface. | |
Mechanism | Simple | A non-polymorphic entity. |
Generics | An entity parameterized by type. | |
Overriding | Functions with the same name as one in the base type, but implemented in different subtypes. | |
Overloading | Functions with the same name in the same declaration scope, but implemented with different signature. | |
Entity | Object | A memory region used to store data. |
Function | An organized block of code that when called takes in data, processes it, and returns a result. | |
Data Type | A set or a range of values and the operations allowed over them. | |
Namespace | An organization of entities’ names, utilized to avoid names collision. |