Storage violation
Encyclopedia
A storage violation occurs when a task
modifies, or attempts to modify, computer storage
that it does not own.
A common type of storage violation is known as a stack buffer overflow
where a program attempts to alter a memory location beyond its allocated memory.
in circumstances where it is possible to write to storage not owned by the transaction; such violations can be reduced by enabling features such as storage protection and transaction isolation.
) by the use of "signatures", which can be tested to see if they have been overlaid.
Some programming languages use software bounds checking
to prevent these occurrences.
Some program debugging
software will also detect violations during testing.
Task (computers)
A task is an execution path through address space. In other words, a set of program instructions that are loaded in memory. The address registers have been loaded with the initial address of the program. At the next clock cycle, the CPU will start execution, in accord with the program. The sense is...
modifies, or attempts to modify, computer storage
Computer storage
Computer data storage, often called storage or memory, refers to computer components and recording media that retain digital data. Data storage is one of the core functions and fundamental components of computers....
that it does not own.
Types of storage violation
Storage violation can, for instance, consist of writing to or freeing storage not owned by the task.A common type of storage violation is known as a stack buffer overflow
Stack buffer overflow
In software, a stack buffer overflow occurs when a program writes to a memory address on the program's call stack outside of the intended data structure; usually a fixed length buffer....
where a program attempts to alter a memory location beyond its allocated memory.
Avoidance of storage violations
Storage violations can occur in transaction systems such as CICSCICS
Customer Information Control System is a transaction server that runs primarily on IBM mainframe systems under z/OS and z/VSE.CICS is a transaction manager designed for rapid, high-volume online processing. This processing is mostly interactive , but background transactions are possible...
in circumstances where it is possible to write to storage not owned by the transaction; such violations can be reduced by enabling features such as storage protection and transaction isolation.
Detection of storage violations
In systems such as CICS, storage violations are sometimes detected (by the CICS kernelKernel (computing)
In computing, the kernel is the main component of most computer operating systems; it is a bridge between applications and the actual data processing done at the hardware level. The kernel's responsibilities include managing the system's resources...
) by the use of "signatures", which can be tested to see if they have been overlaid.
Some programming languages use software bounds checking
Bounds checking
In computer programming, bounds checking is any method of detecting whether a variable is within some bounds before its use. It is particularly relevant to a variable used as an index into an array to ensure its value lies within the bounds of the array...
to prevent these occurrences.
Some program debugging
Debugging
Debugging is a methodical process of finding and reducing the number of bugs, or defects, in a computer program or a piece of electronic hardware, thus making it behave as expected. Debugging tends to be harder when various subsystems are tightly coupled, as changes in one may cause bugs to emerge...
software will also detect violations during testing.
Examples of software detecting storage violations
- IBM OLIVER (CICS interactive test/debug) from APT UK, later CompuwareCompuwareCompuware Corporation is a software company with products aimed at the information technology departments of large businesses. The company's services also include testing, development, professional services automation, project and portfolio management, cloud-based collaboration and performance...
which used an Instruction set simulatorInstruction Set SimulatorAn instruction set simulator is a simulation model, usually coded in a high-level programming language, which mimics the behavior of a mainframe or microprocessor by "reading" instructions and maintaining internal variables which represent the processor's registers.Instruction simulation is a... - Intertest originally from Online Software International , later Computer Associates