This document discusses the history of reverse engineering techniques for web applications from 1999 to 2013. It covers early work modeling web sites and migrating them to web applications. It then summarizes research on reverse engineering web applications to understand their architecture and generate documentation. The challenges of reverse engineering rich internet applications are also outlined. Finally, the document discusses how reverse engineering techniques originally developed for web applications are now being applied to mobile applications.