Named constants are used heavily in operating systems code, both as internal flags and in interactions with devices. Decision making within an operating system thus critically de...
The change history of a software project contains a rich collection of code changes that record previous development experience. Changes that fix bugs are especially interesting, ...
Buggy software is a reality and automated techniques for discovering bugs are highly desirable. A specification describes the correct behavior of a program. For example, a file mus...
The challenge of verifying a modern microprocessor design is an overwhelming one: Increasingly complex micro-architectures combined with heavy time-to-market pressure have forced ...
Automatic repair of programs has been a longstanding goal in software engineering, yet debugging remains a largely manual process. We introduce a fully automated method for locati...
Westley Weimer, ThanhVu Nguyen, Claire Le Goues, S...