Towards Employing Use-cases and Dynamic Analysis to Comprehend Mozilla
ieeexplore.ieee.org/iel5/10097/32336/01510163.pdf?arnumber=1510163
논문은 두 가지 분석 방안을 설명한다.
1. Graphs that capture the parts of the software's architecture that pertain to the use-case
use-case diagram상에서 use-case들 간의 관계를 보여주고, 특정 use-case를 선택하였을 때 내부의 class, method들간의 상관관계를 보여주게 된다.
(크게 세로운 것은 아닐 듯 하다.)
2. Metrics that measure the intricacy of the software and the similarity between the software's use-cases.
similarity는 다음과 같이 계산된다.
Similarity(U1, U2) = |U1∩U2| / |U1∪U2|
where Uk is the set of caller-callee relationships of the method invoked while executing use-case k, |U1∩U2| is the cardinality of the intersection of U1 and U2, and |U1∪U2| is the cardinality of the union of U1 and U2.
이는 관심있게 볼 만한 metric인 듯 하다. 동적 분석에서만 계산될 수 있는 metric이며 아래와 같이 유용할 수 있기 때문이다.
The similarity measure helps the engineer identify similar use-cases and, thus, guide him/her to learn about the implementation of a feature, or a use-case, by studying similar features.
The similarity measure also helps the engineer to assess the impact of a change of one feature to the other features in the software system.