Research‎ > ‎

hotsos2015 (submitted)

Abstract: Software engineers often implement logging mechanisms to debug software and diagnose faults. As modern software manages increasingly sensitive data, logging mechanisms also need to capture detailed traces of user activity to enable forensics and hold users accountable. Existing techniques for identifying what events to log are often subjective and produce inconsistent results. The objective of this study is to help software engineers strengthen forensic-ability and user accountability by 1) systematically identifying mandatory log events through processing of unconstrained natural language software artifacts; and 2) proposing empirically-derived heuristics to help determine whether an event must be logged. We systematically extract each verb and object being acted upon from natural language software artifacts for three open-source software systems. We extract 3,513 verb-object pairs from 2,128 total sentences studied. Two raters classify each verb-object pair as either a mandatory log event or not. Through grounded theory analysis of discussions to resolve disagreements between the two raters, we develop 12 heuristics to help determine whether a verb-object pair describes an action that must be logged. Our heuristics help resolve 882 (96%) of 919 disagreements between the two raters. In addition, our results demonstrate that the proposed heuristics facilitate classification of 3,372 (96%) of 3,513 extracted verb-object pairs as either mandatory log events or not.
File nameDescriptionSizeRev.TimeUser
SelectionFile type iconFile nameDescriptionSizeRevisionTimeUser
Ĉ
View Download
  13k v. 3 Sep 24, 2014, 9:00 PM Jason King
Ĉ
View Download
  167k v. 3 Sep 24, 2014, 9:00 PM Jason King
Ĉ
View Download
  129k v. 3 Sep 24, 2014, 9:00 PM Jason King