In this paper, we propose a method to help users avoid bugs in GUI applications. In particular, users would use the application normally and report bugs that they encounter to pre...
We present Binary Refactoring: a software engineering technique for improving the implementation of programs without modifying their source code. While related to regular refactor...
Function precedence protocols define ordering relations among function calls in a program. In some instances, precedence protocols are well-understood (e.g., a call to pthread mut...
This paper presents POLUS, a software maintenance tool capable of iteratively evolving running software into newer versions. POLUS's primary goal is to increase the dependabi...
Haibo Chen, Jie Yu, Rong Chen, Binyu Zang, Pen-Chu...
We introduce the ISM approach, a framework for modeling and verifying reactive systems in a formal, even machine-checked, way. The framework has been developed for applications in ...