Shan Lu Receives OSDI 2016 Best Paper Award

December 06, 2016

Associate Professor Shan Lu received the Jay Lepreau Best Paper Award at the 12th USENIX Symposium on Operating Systems Design and Implementation (OSDI) 2016 for a paper she co-authored, Early Detection of Configuration Errors to Reduce Failure Damage. Other authors included Tianyin Xu, Xinxin Jin, Peng Huang, Yuanyuan Zhou, Long Jin from the University of California, San Diego, and Shankar Pasupathy from NetApp.

This is the 4th Best Paper and Distinguished Paper awards Shan has received for her co-authored papers in the past 4 years.

View the paper in full here.

Early detection is the key to minimizing failure damage induced by configuration errors, especially those errors in configurations that control failure handling and fault tolerance. Since such configurations are not needed for initialization, many systems do not check their settings early (e.g., at startup time). Consequently, the errors become latent until their manifestations cause severe damage, such as breaking the failure handling. Such latent errors are likely to escape from sysadmins’ observation and testing, and be deployed to production at scale.

Our study shows that many of today’s mature, widely-used software systems are subject to latent configuration errors (referred to as LC errors) in their critically important configurations—those related to the system’s reliability, availability, and serviceability. One root cause is that many (14.0%–93.2%) of these configurations do not have any special code for checking the correctness of their settings at the system’s initialization time.

To help software systems detect LC errors early, we present a tool named PCHECK that analyzes the source code and automatically generates configuration checking code (called checkers). The checkers emulate the late execution that uses configuration values, and detect LC errors if the error manifestations are captured during the emulated execution. Our results show that PCHECK can help systems detect 75+% of real-world LC errors at the initialization phase, including 37 new LC errors that have not been exposed before. Compared with existing detection tools, it can detect 31% more LC errors.