Diagnostic Tool Reveals Unexpected Errors in Complex Networked Applications

Researchers at the NYU Polytechnic School of Engineering and the University of British Columbia have developed the first tool of its kind for diagnosing failures in complex networked applications like Skype, Firefox, and Apache. Upending traditional application diagnostics, NetCheck requires neither source code nor application-specific information, but instead relies on modeling and simulating networking behaviors to identify issues that cause failures.

Justin Cappos, an assistant professor in the School of Engineering Department of Computer Science and Engineering, and his students designed NetCheck to sidestep a common shortcoming of current diagnostics. “Most applications are designed to function in an ideal network environment, but that’s never the case in the real world,” explained Cappos. “NetCheck builds a simulated environment that allows programmers to see how applications perform amid unexpected network behaviors and configurations, and to address the errors that inevitably surface.”

NetCheck requires only a single input that is easily collected. It has been tested on dozens of widely used applications, and it correctly identified 95 percent of the failures reported by bug trackers—outsiders who discover coding “bugs” and alert the organization. Cappos and his team released NetCheck under an open source license, making the tool freely available for download.

Development of NetCheck was supported by funding from the National Science Foundation, as well as the NYU WIRELESS research center and the Center for Advanced Technology in Telecommunications, both at the NYU School of Engineering. Co-authors are Yanyan Zhuang, an assistant research professor at the NYU School of Engineering and a post doctoral fellow at the University of British Columbia; Eleni Gessiou, Steven Portzer, Fraida Fund, and Monzur Muhammad, all of the NYU School of Engineering; and Ivan Beschastnikh of the University of British Columbia.

Cappos presented NetCheck at the USENIX Symposium on Networked Design and Implementation (NSDI) in April 2014. To view the paper, visit https://www.usenix.org/conference/nsdi14/technical-sessions/presentation/zhuang.