Programs written in languages that provide direct access to memory through pointers often contain memory-related faults, which may cause non-deterministic failures and even securi...
James A. Clause, Ioannis Doudalis, Alessandro Orso...
Where do contracts — specification elements embedded in executable code — come from? To produce them, should we rely on the programmers, on automatic tools, or some combinati...
In the software development life cycle, unit testing is an important phase that helps in early detection of bugs. A unit test case consists of two parts: a test input, which is of...
Traditionally, instruction-set simulators (ISS’s) are sequential programs running on individual processors. Besides the advances of simulation techniques, ISS’s have been main...
Instrumenting programs with code to monitor runtime behavior is a common technique for profiling and debugging. In practice, instrumentation is either inserted manually by progra...
Simon Goldsmith, Robert O'Callahan, Alexander Aike...