Papers/Others

Testing Real-Time Embedded Software using UPPAAL-TRON

tomato13 2009. 6. 27. 19:38

http://www.artist-embedded.org/docs/Events/2005/SummerSchool_Naesslingen/emsoft05.pdf


논문에서 소개하는 Test Framework는 아래의 Concept로 구성된다.

1. Relativized Conformance Testing 

: oracle model을 기반으로 자동 verification 수행

2. Time Automata

: oracle로 활용

3. Environment Modeling

: time automata기반 environment simulation 수행

4. online Testing Algorithm

: 1~3에 대한 algorithm


본 논문은 Time Automata를 구성하여 TestCase 생성 및 수행에 대한 자동화를 꾀한다. 관심있게 본 것은 Time Automata를 어떻게 만들어내는가이다. 이에 대해서 논문은 자세하게 사례를 소개한다. 


먼저 IUT(Implementation Under Test)를 이해해야하기 때문에 처음에는 사람이 수작업으로 일종의 Reverse Engineering과정까지 거치면서 System에 대한 분석을 하게 된다. 그리고 어느정도 분석된 Model(Timed automata)를 가지고 TRON을 수행하게 되면(Online Testing Algorithm) TRON이 새롭게 발견되는 state 및 behavior를 계속해서 등록하게 되는 것이다. 논문에서는 state set의 size가 커질 경우 CPU 의 연산시간이 오래 걸릴 수 있으며 언제 state set size가 커지는지에 대한 사례를 보여주기도한다.


논문은 자동으로 timed automata를 그려내는 로직을 구상했다는데에는 큰 의미가 있다고 생각한다. 사실 많은 논문들이 실제 결과와 예상 결과를 가지는 Test Oracle을 어떻게 만들지에 대한 설명을 회피하거나 은연중에 사람의 작업으로 남긴다.


그러나 만일 IUT가 올바르게 동작하지 못한다면 TRON은 올바른 Model을 만들 수 없을 것이고 state set size는 무한정 커지게된 될 수도 있다. 물론 논문에서도 이러한 경우를 대비하기 위해서 사람의 부분적인 개입이 필요하다는 것을 넌즈시 보이기도 하였다. 


그리고 실제 사례를 기반으로 나타난 tested automata의 최종 결과를 보여주지 못해서 궁금증을 남기었다.


또한 논문에서는 IUT와의 교신을 위해서 physical API를 사용한다고 설명한다. 이는 기존의 Source code에 테스트를 위한 코드를 별도 삽입하는 작업으로 매우 민감한 사항일 것이나 이에 대한 구체적인 설명을 하고 있지 않다.