ConfInLog: Leveraging Software Logs to Infer Configuration Constraints

03/22/2021
by   Shulin Zhou, et al.
0

Misconfigurations have become the dominant causes of software failures in recent years, drawing tremendous attention for their increasing prevalence and severity. Configuration constraints can preemptively avoid misconfiguration by defining the conditions that configuration options should satisfy. Documentation is the main source of configuration constraints, but it might be incomplete or inconsistent with the source code. In this regard, prior researches have focused on obtaining configuration constraints from software source code through static analysis. However, the difficulty in pointer analysis and context comprehension prevents them from collecting accurate and comprehensive constraints. In this paper, we observed that software logs often contain configuration constraints. We conducted an empirical study and summarized patterns of configuration-related log messages. Guided by the study, we designed and implemented ConfInLog, a static tool to infer configuration constraints from log messages. ConfInLog first selects configuration-related log messages from source code by using the summarized patterns, then infers constraints from log messages based on the summarized natural language patterns. To evaluate the effectiveness of ConfInLog, we applied our tool on seven popular open-source software systems. ConfInLog successfully inferred 22 to 163 constraints, in which 59.5 state-of-the-art work. Finally, we submitted 67 documentation patches regarding the constraints inferred by ConfInLog. The constraints in 29 patches have been confirmed by the developers, among which 10 patches have been accepted.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
04/15/2021

Automated Evolution of Feature Logging Statement Levels Using Git Histories and Degree of Interest

Logging – used for system events and security breaches to more informati...
research
09/15/2020

A Survey on Automated Log Analysis for Reliability Engineering

Logs are semi-structured text generated by logging statements in softwar...
research
02/26/2022

Static Analysis Deployment Pitfalls

Organizational, political, and configuration mistakes in the deployment ...
research
09/08/2021

Leveraging Code Clones and Natural Language Processing for Log Statement Prediction

Software developers embed logging statements inside the source code as a...
research
07/09/2021

An Empirical Study of Data Constraint Implementations in Java

Software systems are designed according to guidelines and constraints de...
research
10/25/2021

RoBin: Facilitating the Reproduction of Configuration-Related Vulnerability

Vulnerability reproduction paves a way in debugging software failures, w...
research
02/16/2019

PatchNet: A Tool for Deep Patch Classification

This work proposes PatchNet, an automated tool based on hierarchical dee...

Please sign up or login with your details

Forgot password? Click here to reset