Analyzing Exceptions for Embedded System Software Development using Aspect Oriented Programming

임베디드 시스템 소프트웨어 개발을 위한 관점지향프로그래밍 방식의 예외원인분석

  • Published : 2009.05.15

Abstract

When an unexpected software exception arises, we programmers are to analyze what causes it. Precisely speaking, we need to analyze the cause and property of the unexpected exception. But if exceptions arise irregularly from unknown causes, it is even more difficult for us to handle them, especially in embedded system like mobile phone software development. In this paper, we propose a debugger-friendly analyzing method for exceptions using aspect oriented programming technique. What we need to know upon arising exceptions is the function call history in order to identify the reason for the exceptions. Since programmers used to spend their debugging time on unidentified exceptions, which arise irregularly our method would greatly improve the embedded software development productivity.

소프트웨어에서 예외가 발생할 때 원인분석을 해야 할 때가 있다. 이를 위해서 문제상황을 반복 재현하면서 관찰하게 되는데, 이 때 문제가 발생하는 양상이 규칙적이지 않다면 원인을 분석하는 것이 쉽지 않다. 특히 임베디드 시스템 혹은 이동통신단말기의 경우처럼 개발용 컴퓨터와 개발목적 장치가 분리된 경우에는 원인분석을 위한 시간과 노력이 배가되므로 개발자 부담을 가중시켜서 개발생산성을 극도로 악화시키는 요인이 된다. 본 논문에서는 임베디드 시스템과 이동통신단말기 디버그 중 예외 발생경로를 쉽게 확인할 수 있도록, 관점지향프로그래밍(Aspect Oriented Programming) 방식의 예외원인 분석 방법을 제안한다. 원인이 모호하고 발생빈도가 불규칙적인 예외발생 원인을 규명하기 위해서 예외발생 당시의 함수호출 경로를 추적해야 하므로 소모적인 시간과 노력을 필요로 하는데, 제안하는 방식은 예외 발생시 함수호출 경로를 로그 메모리 형태로 즉시 제공해 줌으로써 기존의 디버깅 방법에서 획득할 수 없는 개발자 편의성을 획기적으로 증대시킨다.

Keywords

References

  1. Kiczales, G., et al.: Aspect-Oriented Programming, In: Proceedings of the European Conference on Object-Oriented Programming (ECOOP). Springer- Verlag, Finland. 1997
  2. HENNESSY, J. Program optimization and excep-tion handling. In Conference Record of the ACM Symposium on Principles of Programming Lang-uages (Williamsburg, Virginia, Jan.). 200-206, 1981 https://doi.org/10.1145/567532.567554
  3. Symbian Fast Facts Q1 2008. DOI= http://www.symbian.com/about/fastfacts/fastfacts.html
  4. Symbian OS 9.2 System Panic Reference User Category. DOl= http://developer.uiq.com/devlib/uiq_31/sdkdocumentation/doc_source/doc_source/reference/SystemPanics/UserPanics.html#Panics%2euser
  5. Alex Feinamn, device debugging and Emulation in Visual Studio 2005. DOI= http://msdn.microsoft.com/en-us/library/aa454884.aspx
  6. Rechard Harrison & Mark Sharkman. Symbian OS c++ for mobile phones: 3. John Wiley and Sons Inc., 306, 2007
  7. Jane Sales. Developing software for Symbian OS - An Introduction to Creating Smartphone Applica-tions in C++. John Wiley and Sons Inc., 20, 2006
  8. J. Viega and J. Voas, Can Aspect-Oriented Programming Lead to More Reliable software?,” IEEE soft-ware 17, pp. 18-21, 2000 https://doi.org/10.1109/52.895163
  9. Lippert, M. and Lopes, C.V. A study on exception detection and handling using aspect-oriented pro-gramming. In Proceedings of the 22nd Inter-national Conference on software Engineering, June 2000 https://doi.org/10.1145/337180.337229