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.
Explore further: The dangers of too much Java
Cappos presented NetCheck at the USENIX Symposium on Networked Design and Implementation (NSDI) in April 2014. To view the paper, visit www.usenix.org/conference/nsdi14/technical-sessions/presentation/zhuang