pith. sign in

arxiv: 1807.03329 · v1 · pith:5U5WHL5Fnew · submitted 2018-07-09 · 💻 cs.SE · cs.CR· cs.PL

CANAL: A Cache Timing Analysis Framework via LLVM Transformation

classification 💻 cs.SE cs.CRcs.PL
keywords canalcacheframeworkverificationanalysisapproachesllvmprogram
0
0 comments X
read the original abstract

A unified modeling framework for non-functional properties of a program is essential for research in software analysis and verification, since it reduces burdens on individual researchers to implement new approaches and compare existing approaches. We present CANAL, a framework that models the cache behaviors of a program by transforming its intermediate representation in the LLVM compiler. CANAL inserts auxiliary variables and instructions over these variables, to allow standard verification tools to handle a new class of cache related properties, e.g., for computing the worst-case execution time and detecting side-channel leaks. We demonstrate the effectiveness of CANAL using three verification tools: KLEE, SMACK and Crab-llvm. We confirm the accuracy of our cache model by comparing with CPU cycle-accurate simulation results of GEM5. CANAL is available on GitHub and YouTube.

This paper has not been read by Pith yet.

discussion (0)

Sign in with ORCID, Apple, or X to comment. Anyone can read and Pith papers without signing in.