TY - GEN
T1 - A framework and tool supports for testing modularity of software design
AU - Cai, Yuanfang
AU - Huynh, Sunny
AU - Xie, Tao
PY - 2007
Y1 - 2007
N2 - Modularity is one of the most important properties of a software design, with significant impact on changeability and evolvability. However, a formalized and automated approach is lacking to test and verify software design models against their modularity properties, in particular, their ability to accommodate potential changes. In this paper, we propose a novel framework for testing design modularity. The software artifact under test is a software design. A test input is a potential change to the design. The test output is a modularity vector, which precisely captures quantitative capability extents of the design for accommodating the test input (the potential change). Both the design and the test input are represented as formal computable models to enable automatic testing. The modularity vector integrates the net option value analysis with well-known design principles. We have implemented the framework with tool supports and tested aspect-oriented and object-oriented design patterns in terms of their ability to accommodate sequences of possible changes. The results showed that previous informal, implementation-based analysis can be conducted by our framework automatically and quantitatively at the design level. This framework also opens the opportunities of applying testing techniques, such as coverage criteria, on software designs.
AB - Modularity is one of the most important properties of a software design, with significant impact on changeability and evolvability. However, a formalized and automated approach is lacking to test and verify software design models against their modularity properties, in particular, their ability to accommodate potential changes. In this paper, we propose a novel framework for testing design modularity. The software artifact under test is a software design. A test input is a potential change to the design. The test output is a modularity vector, which precisely captures quantitative capability extents of the design for accommodating the test input (the potential change). Both the design and the test input are represented as formal computable models to enable automatic testing. The modularity vector integrates the net option value analysis with well-known design principles. We have implemented the framework with tool supports and tested aspect-oriented and object-oriented design patterns in terms of their ability to accommodate sequences of possible changes. The results showed that previous informal, implementation-based analysis can be conducted by our framework automatically and quantitatively at the design level. This framework also opens the opportunities of applying testing techniques, such as coverage criteria, on software designs.
KW - changeability
KW - design testing
KW - modularity
UR - http://www.scopus.com/inward/record.url?scp=60549100753&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=60549100753&partnerID=8YFLogxK
U2 - 10.1145/1321631.1321704
DO - 10.1145/1321631.1321704
M3 - Conference contribution
AN - SCOPUS:60549100753
SN - 9781595938824
T3 - ASE'07 - 2007 ACM/IEEE International Conference on Automated Software Engineering
SP - 441
EP - 444
BT - ASE'07 - 2007 ACM/IEEE International Conference on Automated Software Engineering
T2 - 22nd IEEE/ACM International Conference on Automated Software Engineering, ASE'07
Y2 - 5 November 2007 through 9 November 2007
ER -