Font Size: a A A

Evolution-Oriented Failure Diagnosis Of Software Configuration

Posted on:2017-10-14Degree:MasterType:Thesis
Country:ChinaCandidate:S L ZhouFull Text:PDF
GTID:2428330569999076Subject:Software engineering
Abstract/Summary:PDF Full Text Request
With the continuous increasement of software complexity,software configuration failure,i.e.misconfiguration,has become one of the main causes of software failure.At present,the reason for the frequent misconfiguration is the complex contraints in and between configuration items.More over,when a software evolves,the old configuration settings may no longer satisfy the requirements of the new version one,resulting in a misconfiguration.In this paper,we manually investigate the source code of common software,and summarizes the characteristics of configuration-related code,based on which design and implement ConfExt,a framework toward the misconfiguration diagnosis for software evolution.When the evolution of software occurs,ConfExt could automatically generate the new config of the version of software via automated configuration-variable mapping and configruation-related-constraints extracting.Our works include:1.We characterize six widely used C/C++ open-source software,including Apache Httpd,MySQL,Redis,Nginx,Postfix and PostgreSQL,and summarize the related code features of the software configurations.2.Based on pattern learning,we develop a tool to accomplish the automated mapping between configuration items and relavant program variables,without considering the complex semantic context in source code and the manually mapping workload.Experiments show that ConfExt could reach 97.5% accuracy rate in mapping,and mine 91.4%of all the configuration items.3.We reach the goal to automatically extract constraints for configuration items by using machine learning algorithm and dataflow/ control-flow analysis.Based on the features of source code,we gether the several constraints,namely type constraits,value constraints,multi-control constraints,multi-value constraints and enum constraints.In experiments,ConfExt could extract 1123 constraints in all,reaching 97.9% in accuracy rate.4.We design and implement the framework to analyze the difference of configuration constraints between two version of the software automatically.With the differentiating between the source code of the software for two versions,ConfExt could find the changes in constraints of configuration items and suggest users to set their new configurations.Further more,ConfExt also provide API to generate new configuration settings automatically.
Keywords/Search Tags:Misconfiguration diagnosis, software evolution, automated mapping, configuration constraints
PDF Full Text Request
Related items