The ad-hoc use of unions to encode disjoint sum types in C programs and the inability of C’s type system to check the safe use of these unions is a long standing source of subtle...
A test case consists of two parts: a test input to exercise the program under test and a test oracle to check the correctness of the test execution. A test oracle is often in the f...
Abstract—Software testing is an expensive and time consuming process, often involving the manual creation of comprehensive regression test suites. However, current testing method...
Frameworks promote design and code reuse, at a higher level of granularity. The use of frameworks is a hard task though, because usually they lack documentation and instructions o...
Parameterization is an effective technique for building flexible, reusable software. When dealing with parameterized components, an important concern is the time at which parame...