This paper presents a technique that helps automate the reverse engineering of device drivers. It takes a closed-source binary driver, automatically reverse engineers the driverā...
The initial step of any software engineering methodology is to form requirements. Recently, a goal-oriented approach to requirements has been proposed and argued to be beneļ¬cial...
Who uses requirements engineering and design methodologies besides the people who invented them? Are researchers - at least - actually trying to use them in real-world complex proj...
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...
Program enhancement refers to adding new functionality to an existing program. We argue that repetitive program enhancement tasks can be expressed as patterns, and that the applic...