DOI QR코드

DOI QR Code

소스코드와 실행코드의 상관관계 분석을 통한 최악실행시간 측정 방법

Measuring Method of Worst-case Execution Time by Analyzing Relation between Source Code and Executable Code

  • Seo, Yongjin (Department of Computer Science & Engineering, Chungnam National University) ;
  • Kim, Hyeon Soo (Department of Computer Science & Engineering, Chungnam National University)
  • 투고 : 2016.04.14
  • 심사 : 2016.05.17
  • 발행 : 2016.08.31

초록

내장 소프트웨어는 실시간성 및 실행 환경으로부터의 독립성을 요구사항으로 갖는다. 실시간성 요구사항은 탑재된 태스크의 최악 실행 시간으로부터 영향을 받는다. 따라서 실시간성을 보장하기 위해서는 정적 분석 기반의 최악 실행 시간 분석 방법을 사용하여 프로그램의 최악 실행 시간을 파악하여야 한다. 그러나 기존의 최악 실행 시간 분석은 실행 환경으로부터 독립성을 고려하지 않는다. 이에 우리는 실행 환경으로부터 독립성을 제공하기 위해 소스코드로부터 실행 시간을 측정하는 방법을 제시한다. 이를 위해 실행 코드가 아닌 소스코드로부터 생성된 제어 흐름 그래프를 통해 실행 시간을 측정한다. 또한 소스코드로부터 생성된 제어 흐름 그래프에는 실행 시간 정보가 존재하지 않기 때문에, 이를 제공하기 위해 소스코드의 문장과 실행코드의 명령어와의 관계를 분석한다. 결과적으로 실행 시간 측정이 가능한 제어 흐름 그래프를 생성할 수 있다. 이를 통해 프로세서로부터 종속적인 부분을 매개변수화할 수 있기 때문에, 최악 실행 시간 분석 도구의 유연성을 향상시킬 수 있다.

Embedded software has requirements such as real-time and environment independency. The real-time requirement is affected from worst-case execution time of loaded tasks. Therefore, to guarantee real-time requirement, we need to determine a program's worst-case execution time using static analysis approach. However, the existing methods for worst-case execution time analysis do not consider the environment independency. Thus, in this paper, in order to provide environment independency, we propose a method for measuring task's execution time from the source codes. The proposed method measures the execution time through the control flow graph created from the source codes instead of the executable codes. However, the control flow graph created from the source code does not have information about execution time. Therefore, in order to provide this information, the proposed method identifies the relationships between statements in the source code and instructions in the executable code. By parameterizing those parts that are dependent on processors based on the relationships, it is possible to enhance the flexibility of the tool that measures the worst-case execution time.

키워드

참고문헌

  1. R. Wilhelm, J. Engblom, A. Ermedahi et al. "The Worst-Case Execution-Time Problem - Overview of Methods and Survey of Tools", TECS, 2008. http://dx.doi.org/10.1145/1347375.1347389
  2. P. Puschner, R. Nossal, "Testing the results of static worst-case execution-time analysis", In Proc. of the 19th IEEE Real-Time Systems Symposium, pp. 134-143, 1998. http://dx.doi.org/10.1109/REAL.1998.739738
  3. R. Kirner, P. Puschner, et al. "Measurement-Based Worst-Case Execution Time Analysis using Automatic Test-Data Generation". In WCET'04 Proceedings, 2004. https://www.irisa.fr/manifestations/2004/wcet2004/Papers/Kirner.pdf
  4. D. Sandell, A. Ermedahl, et al. "Static timing analysis of real-time operating system code", In Proc. of the 1st Int'l Symposium on Leveraging Applications of Formal Methods, 2004. http://dx.doi.org/10.1007/11925040_10
  5. N. Holsti, T. Langbacka, S. Saarinen, "Using a worst-case execution-time tool for real-time verification of the DEBIE software", In Proc. of the DASIA 2000, 2000. https://www.researchgate.net/publication/248257120_Using_a_Worst-Case_Execution_Time_Tool_for_Real -Time_Verification_of_the_Debie_Software
  6. P. Puschner, A. Schedl, "Computing maximum task execution times - A graph-based approach", J. Real-Time Syst, vol. 13, no. 1, pp. 67-91, 1997. http://dx.doi.org/10.1023/A:1007905003094
  7. O. Scheid, Autosar Compendium, Part 1: Application & RTE, 1st Ed., CreateSpace Independent Publishing Platform, 2015.
  8. C. Watkins, "Integrated modular avionics: managing the allocation of shared intersystem resources", Proceedings of the 25th Digital Avionics Systems Conference (DASC), 2006. http://dx.doi.org/10.1109/DASC.2006.313743
  9. J.-L. Terraillon, "SAVOIR: Reusing specifications to improve the way we deliver avionics", In Embedded Real Time Software and Systems 2012, 2012. http://web1.see.asso.fr/erts2012/Site/0P2RUC89/6C-1.pdf
  10. D. McComas, NASA/GSFC's Flight Software Core Flight System, BiblioGov, 2013.
  11. Texas Instruments Inc., SPRU733A, TMS320C67x/C67x+ DSP CPU and Instruction Set Reference Guide.