University of Colorado Boulder Boulder United States
The Fixr project addressed the problem of mining and understanding from large code corpora to realize automatically transferring bug fixes from one application app to another. Fixr was particularly concerned with pernicious protocol bugs that arise from programming against rich software frameworks like Android. While frameworks are crucial for enabling developers to efficiently create complex apps on sophisticated platforms, they are complicated, making programming apps against them error-prone. Yet, the fact that rich frameworks have vibrant communities of app developers presents a unique opportunity for tools to improve software quality. We envisioned a reality where intelligent automated systems help app developers synthesize fixes to defects by mining public code repositories. To this end, the Fixr project developed a suite of pattern mining, test-case generation, code synthesis, and verification tools that cooperatively realize this vision. Fixr advanced the state of the art through publication at top tier venues and has moved the state of the practice by transitions with industry partners GitHub and MuseDev.