The source code of a software system is in constant change. The impact of these changes spreads out across the software system and may lead to the sudden manifestation of failures...
Exception handling design is an important but difficult subject in software development. In Java software development, the use of checked exceptions exacerbates the difficulty. In...
Tools that analyze and enhance large-scale software systems using symbolic reasoning are computationally expensive, and yet processors are cheap. We believe that enabling tools wi...
The use of formal methods can significantly improve software quality. However, many instructors and students consider formal methods to be too difficult, impractical, and esoteric ...
Design combinatorial theory for test-case generation has been used successfully in the past. It is useful in optimizing test cases as it is practically impossible to exhaustively t...