arXivDaily arXiv每日学术速递 周一至周五更新
北美退伍军人节(Veterans Day),12 日无更新
arXiv 1802.09239cs.SE
收藏

分析友好处理器最坏情况执行时间的可扩展和精确估计

Scalable and Precise Estimation and Debugging of the Worst-Case Execution Time for Analysis-Friendly Processors

Martin Becker, Ravindra Metta, R Venkatesh, Samarjt Chakraborty

摘要:

估计应用程序的最坏情况执行时间(WCET)是开发实时或安全关键软件的一项重要任务,但它也是一个复杂且容易出错的过程。传统的方法需要来自用户的至少一些手动输入,例如循环边界和不可行路径信息,这些输入很难获得,并且如果它们不正确,则可能导致不安全的结果。由于缺乏对WCET估计的全面解释,即,一个特定的痕迹显示如何达到WCET。因此,很难发现不正确的输入,也很难改善应用程序的最坏情况时序。与此同时,现代处理器已经达到了一个复杂的,驳斥了分析,并把越来越多的负担,从业者。在这篇文章中,我们将展示如果我们使用适合WCET分析的处理器,所有这些问题都可以得到显著缓解甚至解决。我们定义和识别这样的处理器,然后我们提出了一个自动化的工具集,估计一个精确的WCET没有不安全的手动输入,也重建了一个最大的详细视图的WCET路径,可以在调试器环境中进行检查。我们的方法是基于模型检验,然而,这是众所周知的规模严重的应用程序的大小。我们通过将分析转移到源代码级别来解决这个问题,在源代码级别,可以应用源代码转换,保留计时行为,但降低复杂性。我们的实验表明,快速和精确的估计,可以实现与模型检验,其可扩展性甚至可以超过目前的方法,并出现在“定时调试”的背景下,新的机会。

英文摘要:

Estimating the Worst-Case Execution Time (WCET) of an application is an essential task in the context of developing real-time or safety-critical software, but it is also a complex and error-prone process. Conventional approaches require at least some manual inputs from the user, such as loop bounds and infeasible path information, which are hard to obtain and can lead to unsafe results if they are incorrect. This is aggravated by the lack of a comprehensive explanation of the WCET estimate, i.e., a specific trace showing how WCET was reached. It is therefore hard to spot incorrect inputs and hard to improve the worst-case timing of the application. Meanwhile, modern processors have reached a complexity that refutes analysis and puts more and more burden on the practitioner. In this article we show how all of these issues can be significantly mitigated or even solved, if we use processors that are amenable to WCET analysis. We define and identify such processors, and then we propose an automated tool set which estimates a precise WCET without unsafe manual inputs, and also reconstructs a maximum-detail view of the WCET path that can be examined in a debugger environment. Our approach is based on Model Checking, which however is known to scale badly with growing application size. We address this issue by shifting the analysis to source code level, where source code transformations can be applied that retain the timing behavior, but reduce the complexity. Our experiments show that fast and precise estimates can be achieved with Model Checking, that its scalability can even exceed current approaches, and that new opportunities arise in the context of "timing debugging".

机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。

↑