Prior work shows that misleading logging texts (i.e., the textual descriptions in logging statements) can be counterproductive for developers during their use of logs. One of the most important types of information provided by logs is the temporal information of the recorded system behavior. For example, a logging text may use an perfective aspect to describe a fact that an important system event has finished. Although prior work has performed extensive studies on automated logging suggestions, few of these studies investigate the temporal relations between logging and code. In this work, we make the first attempt to comprehensively study the temporal relations between logging and its corresponding source code. In particular, we focus on two types of the temporal relations: (1) logical temporal relations, which can be inferred from the execution order between the logging statement and the corresponding source code; and (2) semantic temporal relations, which can be inferred based on the semantic meaning of the logging text. We first perform qualitative analyses to study these two types of logging-code temporal relations and the inconsistency between them. As a result, we derive rules to detect these two types of temporal relations and their inconsistencies. Based on these rules, we propose a tool named TempoLo to automatically detect the issues of temporal inconsistencies between logging and code. Through an evaluation on four projects, we find that TempoLo can effectively detect temporal inconsistencies with a small number of false positives. To gather developers’ feedback on whether such inconsistencies are worth fixing, we report detected instances from each project to developers. 13 instances from three projects are confirmed and fixed, while two instances of the remaining project are pending at the time of this writing. Our work lays the foundation of describing temporal relations between logging and code and demonstrates the potentials in deeper understanding of the relationship between logging and code.
Wed 17 MayDisplayed time zone: Hobart change
15:45 - 17:15 | Software loggingTechnical Track at Meeting Room 101 Chair(s): Hongyu Zhang The University of Newcastle | ||
15:45 15mTalk | PILAR: Studying and Mitigating the Influence of Configurations on Log Parsing Technical Track Hetong Dai Concordia University, Yiming Tang Concordia University, Heng Li Polytechnique Montréal, Weiyi Shang University of Waterloo | ||
16:00 15mTalk | Did We Miss Something Important? Studying and Exploring Variable-Aware Log Abstraction Technical Track Zhenhao Li Concordia University, Chuan Luo Beihang University, Tse-Hsun (Peter) Chen Concordia University, Weiyi Shang University of Waterloo, Shilin He Microsoft Research, Qingwei Lin Microsoft Research, Dongmei Zhang Microsoft Research | ||
16:15 15mTalk | On the Temporal Relations between Logging and Code Technical Track Zishuo Ding Concordia University, Yiming Tang Concordia University, Yang Li Beijing University of Posts and Telecommunications, Heng Li Polytechnique Montréal, Weiyi Shang University of Waterloo Pre-print | ||
16:30 15mTalk | How Do Developers' Profiles and Experiences Influence their Logging Practices? An Empirical Study of Industrial Practitioners Technical Track Guoping Rong Nanjing University, shenghui gu Nanjing University, Haifeng Shen Australian Catholic University, He Zhang Nanjing University, Hongyu Kuang Nanjing University | ||
16:45 15mTalk | When to Say What: Learning to Find Condition-Message Inconsistencies Technical Track Pre-print | ||
17:00 15mTalk | A Semantic-aware Parsing Approach for Log Analytics Technical Track Yintong Huo The Chinese University of Hong Kong, Yuxin Su Sun Yat-sen University, Cheryl Lee The Chinese University of Hong Kong, Michael Lyu The Chinese University of Hong Kong Pre-print |