Software Partitioning for Effective Automated Unit Testing
01 January 2006
A key problem for effective unit testing is the difficulty of partitioning software into appropriate units that can be tested in isolation. We present an approach that identifies control and data interdependencies between software components using static analysis, and divides the source code into units where highly-intertwined components are grouped together. Those units can then be tested in isolation using automated test generation techniques and tools. We discuss preliminary experimental results showing that automatic software partitioning can significantly increase test coverage without generating too many false alarms caused by unrealistic inputs being injected at interfaces between units.