Papers/Static&Dynamic Analysis

Dynamic Analysis Techniques for the Reconstruction of Architectural ~

tomato13 2009. 5. 1. 11:58

"Dynamic Analysis Techniques for the Reconstruction of Architectural Views"

http://www.st.ewi.tudelft.nl/~cornel/pub/WCRE07_DOCSYM.pdf

Figure 3.jpg


본 논문은 software의 architectur를 쉽게 이해하기 위한 technique을 소개한다. 사실 매순간 진화하는 software의 architecture를 이해하는 작업은 쉬운 일이 아니다.


Unfortunately, this is a very time-consuming activity and Corbi has reported that up to 50% of maintenance efforts is spent on gaining a sufficient understanding of the system.


Dynamic analysis는 수행중에 많은 data들을 산출하게 되는데 문제는 그 양이 너무 크다는 것이다.

(참고로 얼마전 TestRT로 작은 모듈 하나에 대한 Sequence diagram을 뽑아보았는데 A4용지 약 6~7장은 될 듯 하였다. 문제는 그 안에 여러 함수 call관계가 빽빽하게 나타나있는데... 어디에 focus를 두어야할지부터 막막했던 듯 하다.ㅡ.ㅡ)


그래서 이 논문은 이러한 Dyamic analysis의 제약사항을 어떻게 극복할 수 있을 것인지에 대해서 의견을 제시한다. 주요 방안은 아래와 같다.


1. 분석을 위한 TestSuite 사용

주요한 시나리오만을 TestSuite로 준비를 해 두고 이것을 사용하는 것이다.

(문제는 어떻게 이러한 시나리오를 준비할지일 듯 하다.ㅡ.ㅡ;; 하지만 이에 대한 절차를 밟게 된다면 아무래도 막연히 돌려보는 것은 지양할 수 있을 것이다.)


2. 중요한 부분에 대해서는 별도의 표시를 남기는 것이다.

the massive sequence view uses importance-based anti-aliasing(IBAA) to provide a zoomable overview of the trace.

(좋은 생각이다. 그런데 어떻게 표시를 남길까? ㅡ.ㅡ;; 일종의 수행 전에 config. 설정을 할 수도 있을 듯 하다.)


3. 동시간대의 sequence에 대해서는 같은 색깔 혹은 비슷한 색을 적용하여 visualization을 강화하는 것이다.

the circular bundle view warrants for the grouped visualiation of the call relations in the current timeframe.

(좋은 아이디어라고 생각한다. 첨부파일참조)


4. 세부적인 physical level은 생략하고 상위 logical level로 표현하는 것이다.

Moreover, by omission of the more detailed interaction, we hope to attain visualizations at a more architectural level.

(좋은 아이디어라고 생각한다. 그런데 어떻게 physical level을 logical level로 mapping시킬 것인지 고민이 필요할 것이다.)







Figure 3.jpg
0.04MB