作者: Pinjia He , Dongmei Zhang , Jieming Zhu , Michael R. Lyu , Qiang Fu
关键词:
摘要: Logging is a common programming practice of practical importance to collect system runtime information for postmortem analysis. Strategic logging placement desired cover necessary without incurring unintended consequences (e.g., Performance overhead, trivial logs). However, in current practice, there lack rigorous specifications developers govern their behaviours. has become an important yet tough decision which mostly depends on the domain knowledge developers. To reduce effort making decisions, this paper, we propose "learning log" framework, aims provide informative guidance during development. As proof concept, design and implementation suggestion tool, Log Advisor, automatically learns practices where log from existing instances further leverages them actionable suggestions Specifically, identify factors determining extract as structural features, textual syntactic features. Then, by applying machine learning techniques Feature selection classifier learning) noise handling techniques, achieve high accuracy suggestions. We evaluate Advisor two industrial software systems Microsoft open-source Git Hub (totally 19.1M LOC 100.6K statements). The encouraging experimental results, well user study, demonstrate feasibility effectiveness our tool. believe work can serve first step towards goal log".