ORPLocator: Identifying read points of configuration options via static analysis
Conference Proceeding Article
Configuration options are widely used for customizing the behavior and initial settings of software applications, server processes, and operating systems. Their distinctive property is that each option is processed, defined, and described in different parts of a software project - namely in code, in configuration file, and in documentation. This creates a challenge for maintaining project consistency as it evolves. It also promotes inconsistencies leading to misconfiguration issues in production scenarios. We propose an approach for detection of inconsistencies between source code and documentation based on static analysis. Our approach automatically identifies source code locations where options are read, and for each such location retrieves the name of the option. Inconsistencies are then detected by comparing the results against the option names listed in documentation. We evaluated our approach on multiple components of Apache Hadoop, a complex framework with more than 800 options. Our tool ORPLocator was able to successfully locate at least one read point for 93% to 96% of documented options within four Hadoop components. A comparison with a previous state-of-the-art technique shows that our tool produces more accurate results. Moreover, our evaluation has uncovered 4 previously unknown, real-world inconsistencies between documented options and source code
Configuration options, Empirical study, Inconsistency detection, Static analysis
Computer Sciences | Software Engineering
Software and Cyber-Physical Systems
ISSRE 2016: Proceedings of the 27th IEEE International Symposium on Software Reliability Engineering: Ottawa, October 23-27, 2016
City or Country
DONG, Zhen; ANDRZEJAK, Artur; David LO; and COSTA, Diego.
ORPLocator: Identifying read points of configuration options via static analysis. (2016). ISSRE 2016: Proceedings of the 27th IEEE International Symposium on Software Reliability Engineering: Ottawa, October 23-27, 2016. 185-195. Research Collection School Of Information Systems.
Available at: http://ink.library.smu.edu.sg/sis_research/3613