Memory overflow protection for embedded systems using run-time checks, reuse, and compression
2006; Association for Computing Machinery; Volume: 5; Issue: 4 Linguagem: Inglês
10.1145/1196636.1196637
ISSN1558-3465
AutoresSurupa Biswas, Thomas W. Carley, Matthew Simpson, Bhuvan Middha, Rajeev Barua,
Tópico(s)Radiation Effects in Electronics
ResumoEmbedded systems usually lack virtual memory and are vulnerable to memory overflow since they lack a mechanism to detect overflow or use swap space thereafter. We present a method to detect memory overflows using compiler-inserted software run-time checks. Its overheads in run-time and energy are 1.35 and 1.12%, respectively. Detection of overflow allows system-specific remedial action. We also present techniques to grow the stack or heap segment after they overflow, into previously unutilized space, such as dead variables, free holes in the heap, and space freed by compressing live variables. These may avoid the out-of-memory error if the space recovered is enough to complete execution. The reuse methods are able to grow the stack or heap beyond its overflow by an amount that varies widely by application---the amount of recovered space ranges from 0.7 to 93.5% of the combined stack and heap size.
Referência(s)