Papers/Dynamic Instrumentation

Demand-Driven Structural Testing with Dynamic Instrumentation

tomato13 2008. 6. 20. 19:23

ieeexplore.ieee.org/iel5/11128/35643/01690773.pdf

 

먼저 Structural Testing이 무엇인지 이해할 필요가 있을 듯 하다.

...

structural testing in which properties of the software code are used to ensure a certain code coverage. Structural testing techniques include branch testing, node testing, path testing, and def-use testing.

...

 

그리고 structural testing을 byte code를 기반으로 어떻게 dynamically하게 instrumentation을 적용할 수 있는지 설명한다. 크게 'covered'라는 global storage를 설명한다. 여기에는 node별 hit되었는지의 정보가 있게 된다. 즉, coverage data가 있게 되는 것이다. 그리고 PLY(Probe Location Table)을 설명한다. 여기에는 type, payload 그리고 inserted probe에 대한 정보가 있게 된다.(Figure 3참조) type은 payload(code block)이 seed인지를 나타낸다. seed란 처음 수행되는 initial block을 가리킨다.

 

dynamic instrumentation을 하게 되면 무엇이 달라지는가에 대해서는 아래와 같이 설명한다.

......

Experimental results indicate less overhead in space because of fewer instrumentation points at any one time than static instrumentation. It is also less time expensive because insrumentation is only hit when it is needed.

......

 

그리고 실험을 통해서 dynamic instrumentation와 static instrumentation을 적용한 결과를 비교한다. 물론 전자가 우수하게 평간된다.ㅡ.ㅡ;;