@inproceedings{c3a628c64a2d4a9ebbfd2ed0f8e19f5b,
title = "Shadow state encoding for efficient monitoring of block-level properties",
abstract = "Memory shadowing associates addresses from an application's memory to values stored in a disjoint memory space called shadow memory. At runtime shadow values store metadata about application memory locations they are mapped to. Shadow state encodings -The structure of shadow values and their interpretation - vary across different tools. Encodings used by the state-of-The-Art monitoring tools have been proven useful for tracking memory at a byte-level, but cannot address properties related to memory block boundaries. Tracking block boundaries is however crucial for spatial memory safety analysis, where a spatial violation such as outof- bounds access, may dereference an allocated location belonging to an adjacent block or a different struct member. This paper describes two novel shadow state encodings which capture block-boundary-related properties. These encodings have been implemented in E-ACSL -A runtime verification tool for C programs. Initial experiments involving checking validity of pointer and array accesses in computationally intensive runs of programs selected from SPEC CPU benchmarks demonstrate runtime and memory overheads comparable to state-of-The-Art memory debuggers.",
keywords = "Frama-c, Memory safety, Runtime monitoring, Shadow memory",
author = "Kostyantyn Vorobyov and Julien Signoles and Nikolai Kosmatov",
year = "2017",
month = jun,
day = "18",
doi = "10.1145/3092255.3092269",
language = "English",
series = "International Symposium on Memory Management, ISMM",
publisher = "Association for Computing Machinery",
pages = "47--58",
editor = "Kirsch, \{Christoph M.\} and Titzer, \{Ben L.\}",
booktitle = "ISMM 2017 - Proceedings of the 2017 ACM SIGPLAN International Symposium on Memory Management, co-located with PLDI 2017",
note = "2017 ACM SIGPLAN International Symposium on Memory Management, ISMM 2017 ; Conference date: 18-06-2017",
}