[论文解读] Towards Energy Consumption Verification via Static Analysis
本文提出了一种静态分析框架,用于验证嵌入式程序中的能耗规范,通过将CiaoPP系统专业化,以证明或反驳能耗使用量作为输入数据规模函数的上下界。该方法推断能耗预算得以满足的条件,使开发人员能够通过分析手段确定实现能效最优的程序参数,而无需运行时测量。
In this paper we leverage an existing general framework for resource usage verification and specialize it for verifying energy consumption specifications of embedded programs. Such specifications can include both lower and upper bounds on energy usage, and they can express intervals within which energy usage is to be certified to be within such bounds. The bounds of the intervals can be given in general as functions on input data sizes. Our verification system can prove whether such energy usage specifications are met or not. It can also infer the particular conditions under which the specifications hold. To this end, these conditions are also expressed as intervals of functions of input data sizes, such that a given specification can be proved for some intervals but disproved for others. The specifications themselves can also include preconditions expressing intervals for input data sizes. We report on a prototype implementation of our approach within the CiaoPP system for the XC language and XS1-L architecture, and illustrate with an example how embedded software developers can use this tool, and in particular for determining values for program parameters that ensure meeting a given energy budget while minimizing the loss in quality of service.
研究动机与目标
- 实现对嵌入式程序能耗使用量边界的正式验证,包括上下限。
- 支持以输入数据规模函数形式表达的能耗边界规范。
- 推断能耗规范成立或不成立的精确输入规模区间,以实现安全的参数调优。
- 使开发人员能够确定满足能耗预算的同时最小化服务质量损失的最优程序参数。
- 将通用资源验证框架扩展至嵌入式系统专用的能耗分析。
提出的方法
- 将XC源代码转换为霍恩子句中间表示(HC IR)以进行静态分析。
- 使用CiaoPP框架执行基于抽象解释的资源使用量分析。
- 将能耗使用量边界表示为输入数据规模的函数,以支持基于区间的验证。
- 应用基于断言的验证,使用'check'和'trust'伪指令指定并验证能耗约束。
- 对输入规模区间进行约束求解,以确定能耗边界得以满足的条件。
- 集成能耗模型和静态比较器,以在输入域上证明或反驳能耗规范。
实验结果
研究问题
- RQ1能否使用静态分析正式验证嵌入式程序是否满足指定的能耗使用量边界?
- RQ2当边界依赖于输入数据规模时,如何表达并验证能耗使用量规范?
- RQ3哪些条件(以输入规模区间表示)可确保给定的能耗规范成立或不成立?
- RQ4验证系统能否推断出满足能耗预算的同时最小化性能退化的参数值?
- RQ5该方法在处理多项式、指数或对数形式等复杂能耗函数时的可扩展性如何?
主要发现
- 该框架成功验证了以输入数据规模函数区间形式表达的能耗使用量规范。
- 该工具能够证明或反驳特定输入规模区间内的能耗边界,提供规范成立的精确条件。
- 能耗规范可同时包含上下限,从而实现对能耗使用量配置的全面验证。
- 该方法使开发人员能够通过分析手段确定满足能耗预算的程序参数,避免昂贵的运行时实验。
- 在CiaoPP内实现的原型证明了其在嵌入式软件开发中的可行性与实际效用。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。