CANAL: A Cache Timing Analysis Framework via LLVM Transformation
CANAL: A Cache Timing Analysis Framework via LLVM Transformation
复制标题
DOI:
10.1145/3238147.3240485
复制
发表时间:
2018-07
期刊:
影响因子:
--
通讯作者:
Chungha Sung;Brandon Paulsen;Chao Wang
中科院分区:
文献类型:
--
作者:
Chungha Sung;Brandon Paulsen;Chao Wang
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 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.