BISM: Bytecode-Level Instrumentation for Software Monitoring
Chukri Soueidi, Ali Kassem, Yli\`es Falcone (Univ. Grenoble Alpes,, Inria, CNRS, Grenoble INP, LIG, Grenoble, France)

TL;DR
BISM is a lightweight, bytecode-level instrumentation tool that uses an aspect-oriented language to enable flexible software monitoring with low overheads.
Contribution
It introduces a high-level, control-flow-aware instrumentation language and supports build-time and load-time modes for effective monitoring.
Findings
Low runtime overheads demonstrated in experiments
Effective for security and runtime verification scenarios
Provides comprehensive static and dynamic context access
Abstract
BISM (Bytecode-Level Instrumentation for Software Monitoring) is a lightweight bytecode instrumentation tool that features an expressive high-level control-flow-aware instrumentation language. The language follows the aspect-oriented programming paradigm by adopting the joinpoint model, advice inlining, and separate instrumentation mechanisms. BISM provides joinpoints ranging from bytecode instruction to method execution, access to comprehensive static and dynamic context information, and instrumentation methods. BISM runs in two instrumentation modes: build-time and load-time. We demonstrate BISM effectiveness using two experiments: a security scenario and a general runtime verification case. The results show that BISM instrumentation incurs low runtime and memory overheads.
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
