When researching in any field, it is always important to build upon existing work. In most research disciplines, the core base is well defined and widely documented. However, the basis of innovative research in computer science, especially at the systems level, can often be proprietary information. This can be a major problem as unless you have source code available you must be granted access to the proprietary information (by usually signing non-disclosure documents) which comes with barriers on access, ownership and the ability to publish results. As an example, Microsoft's Windows operating system (all versions) can be a good base for research as it is a "real world" environment with rich usage patterns and any potential advances made would benefit a large number of people. However, access to the Windows operating system is closely guarded via a number of API's (Application Programing Interfaces) along with the fact that Microsoft jealously guards its source code. Therefore, the ability to easily tie into and extend the functionality of applications and operating systems where source code is not available is a necessity. With this in mind, researchers at the Florida Institute of Technology created HEAT - Hostile Environment for Application Testing. The goal of this research was initially to create a tool that would create hard-to-reproduce environments (like low or corrupt memory, insufficient disk space, slow network, etc.) to help uncover defects in software. To achieve this it was clear that HEAT would have to tie into both the operating system and the application under test.
Andrews, M. (2003). HEAT: runtime interception of Win32 functions (CS-2003-01). Melbourne, FL. Florida Institute of Technology.