Memory Use Bugs (MUS) CLass
We define Memory Use Bugs (MUS) as:
An object is initialized, read. written, or cleared, improperly.
Fig. 1 depicts MUS causes, attributes and consequences.
Memory Use Bugs (MUS) Class
- click on image for detailed view.
The attributes of MUS are:
Operation – Initialize, Dereference, Read, Write, Clear
Reflect the improper use of an object
Excursion – Direct, Sequential.
qualifies an operation as Direct or Sequential, depending on if an object element is accessed directly or after going through previous elements.
Source Code – Codebase, Third Party, Standard Library, Compiler/VM/Interpreter
Execution Space – Userland, Kernel, Bare-Metal
Owner – Pointer, Reference.
object – Primitive, Data Structure
Size – Little, Moderate, Huge.
Shows how many bytes are being used: Little, Moderate, Huge, depending on if those are a few, more than a few, and less than one KB, or more than one KB.
Location – Stack, Heap, BSS Segment, Data Segement, Code Segment, Shared Segment
The graph of causes shows that there are three main causes for memory allocation bugs: improper operation, improper owner, and improper object.
The graph of consequences shows Memory Error and Software Collapse as consequences.
MUS sites are any dereference operators in the source code (
Related BF Classes
Related CWEs, SFPs and ST
Application examples are provided here.