Assisting Failure Diagnosis through Filesystem Instrumentation
Liang Pei Huang · ERA: Education and Research Archive (University of Alberta) · 2011
With increasing software size and complexity, corrective software maintenance has become a challenging process. When a failure is reported, it takes time and expertise for human operators to collect the right information and pinpoint the root cause. Typically, the operators are overloaded with information generated from many system components, and need assistance. In practice, however, failures are often recurrent. If they can be identified accurately, the appropriate fix may already be known from prior collected experience about the system. Our approach to diagnose failures is to look at differences in the state of the filesystem and how files are accessed under normal and abnormal situations. In this research, we monitor the behavior of the system through its file-related calls on an instrumented filesystem. When a failure occurs, these calls are abstracted and classified to identify the likely cause. A diagnostic tool is implemented based on this approach. Through an experiment involving one J2EE Web application, we present the effectiveness of our approach in terms of precision and recall.