Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/3084226.3084244acmotherconferencesArticle/Chapter ViewAbstractPublication PageseaseConference Proceedingsconference-collections
research-article

ConfTest: Generating Comprehensive Misconfiguration for System Reaction Ability Evaluation

Published: 15 June 2017 Publication History

Abstract

Misconfigurations are not only prevalent, but also costly on diagnosing and troubleshooting. Unlike software bugs, misconfigurations are more vulnerable to users' mistakes. Improving system reaction to misconfigurations would ease the burden of users' diagnoses. Such effort can greatly benefit from a comprehensive study of system reaction ability towards misconfigurations based on errors injection method. Unfortunately, few such studies have achieved the above goal in the past, primarily because they fail to provide rich error types or only rely on generic alternations to generate misconfigurations. In this paper, we studied 8 mature opensource and commercial software and summarized a fine-grained classification of option types. On the basis of this classification, we could extract syntactic and semantic constraints of each type to generate misconfigurations. We implemented a tool named ConfTest to conduct misconfiguration injection and further analyze system reaction abilities to various of misconfigurations. We carried out comprehensive analyses upon 4 open-source software systems. Our evaluation results show that our option classification covers over 96% of 1582 options from Httpd, Yum, PostgreSQL and MySQL.Our constraint is more fined-grained and the accuracy is more than 90% of of real constraints through manual verification. We compared the capability in finding bad system reactions between ConfTest and ConfErr, showing that the ConfTest can find nearly 3 times the bad reactions found by ConfErr.

References

[1]
Bhavish Aggarwal, Ranjita Bhagwan, Tathagata Das, Siddharth Eswaran, Venkata N Padmanabhan, and Geoffrey M Voelker. 2009. NetPrints: diagnosing home network misconfigurations using shared knowledge. In Usenix Symposium on Networked Systems Design and Implementation. 349--364.
[2]
Apache. 2017. Apache HTTP Test Project. Retrieved January 29 from http://httpd.apache.org/test/. (2017).
[3]
Computing Research Association. 2003. Grand research challenges in information systems. A Conference Series on Grand Research Challenges in Computer Science and Engineering. (2003).
[4]
Mona Attariyan, Michael Chow, and Jason Flinn. 2012. X-ray: automating root-cause diagnosis of performance anomalies in production software. In Usenix Conference on Operating Systems Design and Implementation. 307--320.
[5]
Mona Attariyan and Jason Flinn. 2008. Using Causality to Diagnose Configuration Bugs. In Usenix Technical Conference, Boston, Ma, Usa, June 22--27, 2008. Proceedings. 281--286.
[6]
Mona Attariyan and Jason Flinn. 2010. Automating configuration troubleshooting with dynamic information flow analysis. In Usenix Conference on Operating Systems Design and Implementation. 1--11.
[7]
L Barroso, J Clidaras, and U Hoelzle. 2009. The Datacenter as a Computer: An Introduction to the Design of Warehouse-Scale Machines. 8, 3 (2009), 154.
[8]
Jim Gray. 1985. Why do computers stop and what can be done about them. Technical Report TR-85.7 30, 4 (1985), 88--94.
[9]
L Keller, P Upadhyaya, and G Candea. 2008. ConfErr: A tool for assessing resilience to human configuration errors. In IEEE International Conference on Dependable Systems and Networks with Ftcs and DCC. 157--166.
[10]
James Mickens, Martin Szummer, and Dushyanth Narayanan. 2007. Snitch: interactive decision trees for troubleshooting misconfigurations. In Usenix Workshop on Tackling Computer Systems Problems with Machine Learning Techniques. 8.
[11]
MySQL. 2017. The MySQL Test Framework. Retrieved January 29 from https://dev.mysql.eom/doc/mysqltest/2.0/en/. (2017).
[12]
Kiran Nagaraja, F Oliveira, Ricardo Bianchini, Richard P Martin, and Thu D Nguyen. 2004. Understanding and dealing with operator mistakes in internet services. In Conference on Symposium on Opearting Systems Design & Implementation. 61--76.
[13]
David Oppenheimer, Archana Ganapathi, and David A. Patterson. 2003. Why Do Internet Services Fail, and What Can Be Done About It?. In Conference on Usenix Symposium on Internet Technologies and Systems. 1--1.
[14]
PostgreSQL. 2017. PostgreSQL 9.6.1 Documentation. Retrieved January 29 from https://www.postgresql.Org/docs/9.6/static/pgbench.html. (2017).
[15]
Ariel Rabkin and Randy Katz. 2011. Precomputing possible configuration error diagnoses. In Ieee/acm International Conference on Automated Software Engineering. 193--202.
[16]
Ariel Rabkin and Randy Katz. 2011. Static extraction of program configuration options. In International Conference on Software Engineering, ICSE 2011, Waikiki, Honolulu, Hi, Usa, May. 131--140.
[17]
Vinod Ramachandran, Manish Gupta, Manish Sethi, and Soudip Roy Chowdhury. 2009. Determining configuration parameter dependencies via analysis of configuration data from multi-tiered enterprise applications. In International Conference on Autonomic Computing, Icac 2009, June 15-19, 2009, Barcelona, Spain. 169--178.
[18]
Y Sverdlik. 2012. Microsoft: misconfigured network device led to azure outage. Retrieved January 29 from http://www.datacenterdynamics.com/focus/archive/2012/07/microsoft-misconfigured-network-device-led-azure-outage. (2012).
[19]
A Team. 2011. Summary of the amazon ec2 and amazon rds service disruption in the us east region. Retrieved January 29 from http://aws.amazon.com/message/65648. (2011).
[20]
Helen J Wang, John C Platt, Yu Chen, Ruyun Zhang, and Yi Min Wang. 2004. Automatic misconfiguration troubleshooting with peerpressure. In Conference on Symposium on Opearting Systems Design & Implementation. 17--17.
[21]
Yi Min Wang, Chad Verbowskia, John Dunagana, Chenb Yu, Helen J. Wanga, Chun Yuanb, and Zhangb Zheng. 2003. STRIDER: A Blackbox, State-based Approach to Change and Configuration Management and Support. In Usenix Conference on System Administration. 159--172.
[22]
Tianyin Xu, Xinxin Jin, Peng Huang, Yuanyuan Zhou, Shan Lu, Long Jin, and Shankar Pasupathy. 2016. Early Detection of Configuration Errors to Reduce Failure Damage. (2016).
[23]
Tianyin Xu, Jiaqi Zhang, Peng Huang, Jing Zheng, Tianwei Sheng, Ding Yuan, Yuanyuan Zhou, and Shankar Pasupathy. 2013. Do not blame users for misconfigurations. In Twenty-Fourth ACM Symposium on Operating Systems Principles. 244--259.
[24]
Tianyin Xu and Yuanyuan Zhou. 2015. Systems Approaches to Tackling Configuration Errors: A Survey. Acm Computing Surveys 47, 4 (2015), 1--41.
[25]
Zuoning Yin, Xiao Ma, Jing Zheng, Yuanyuan Zhou, Lakshmi N. Bairavasundaram, and Shankar Pasupathy. 2011. An empirical study on configuration errors in commercial and open source systems. In ACM Symposium on Operating Systems Principles 2011, SOSP 2011, Cascais, Portugal, October. 159--172.
[26]
Yum. 2017. QA:Testcase Yum basics. Retrieved January 29 from http://fedoraproject.Org/wiki/QA:Testcase_Yum_basics. (2017).
[27]
Jiaqi Zhang, Lakshminarayanan Renganarayana, Xiaolan Zhang, Niyu Ge, Vasanth Bala, Tianyin Xu, and Yuanyuan Zhou. 2014. EnCore: exploiting system environment and correlation information for misconfiguration detection. In International Conference on Architectural Support for Programming Languages and Operating Systems. 687--700.
[28]
Sai Zhang and Michael D. Ernst. 2013. Automated diagnosis of software configuration errors. In International Conference on Software Engineering. 312--321.
[29]
Sai Zhang and Michael D Ernst. 2015. Proactive detection of inadequate diagnostic messages for software configuration errors. (2015).

Cited By

View all
  • (2024)ECFuzz: Effective Configuration Fuzzing for Large-Scale SystemsProceedings of the IEEE/ACM 46th International Conference on Software Engineering10.1145/3597503.3623315(1-12)Online publication date: 20-May-2024
  • (2023)CfgNet: A Framework for Tracking Equality-Based Configuration Dependencies Across a Software ProjectIEEE Transactions on Software Engineering10.1109/TSE.2023.3274349(1-17)Online publication date: 2023
  • (2023)Understanding and Detecting On-The-Fly Configuration Bugs2023 IEEE/ACM 45th International Conference on Software Engineering (ICSE)10.1109/ICSE48619.2023.00062(628-639)Online publication date: May-2023
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Other conferences
EASE '17: Proceedings of the 21st International Conference on Evaluation and Assessment in Software Engineering
June 2017
405 pages
ISBN:9781450348041
DOI:10.1145/3084226
© 2017 Association for Computing Machinery. ACM acknowledges that this contribution was authored or co-authored by an employee, contractor or affiliate of a national government. As such, the Government retains a nonexclusive, royalty-free right to publish or reproduce this article, or to allow others to do so, for Government purposes only.

In-Cooperation

  • School of Computing, BTH: Blekinge Institute of Technology - School of Computing

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 15 June 2017

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. Misconfiguration
  2. constraints
  3. system reactions

Qualifiers

  • Research-article
  • Research
  • Refereed limited

Conference

EASE'17

Acceptance Rates

Overall Acceptance Rate 71 of 232 submissions, 31%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)31
  • Downloads (Last 6 weeks)4
Reflects downloads up to 21 Sep 2024

Other Metrics

Citations

Cited By

View all
  • (2024)ECFuzz: Effective Configuration Fuzzing for Large-Scale SystemsProceedings of the IEEE/ACM 46th International Conference on Software Engineering10.1145/3597503.3623315(1-12)Online publication date: 20-May-2024
  • (2023)CfgNet: A Framework for Tracking Equality-Based Configuration Dependencies Across a Software ProjectIEEE Transactions on Software Engineering10.1109/TSE.2023.3274349(1-17)Online publication date: 2023
  • (2023)Understanding and Detecting On-The-Fly Configuration Bugs2023 IEEE/ACM 45th International Conference on Software Engineering (ICSE)10.1109/ICSE48619.2023.00062(628-639)Online publication date: May-2023
  • (2021)Challenges and opportunities: an in-depth empirical study on configuration error injection testingProceedings of the 30th ACM SIGSOFT International Symposium on Software Testing and Analysis10.1145/3460319.3464799(478-490)Online publication date: 11-Jul-2021
  • (2021)Deep Understanding of Runtime Configuration IntentionInternational Journal of Software Engineering and Knowledge Engineering10.1142/S021819402150023631:06(775-802)Online publication date: 21-Jun-2021
  • (2021)ConfInLog: Leveraging Software Logs to Infer Configuration Constraints2021 IEEE/ACM 29th International Conference on Program Comprehension (ICPC)10.1109/ICPC52881.2021.00018(94-105)Online publication date: May-2021
  • (2021)Software Misconfiguration Troubleshooting Based on State Analysis2021 IEEE Sixth International Conference on Data Science in Cyberspace (DSC)10.1109/DSC53577.2021.00057(361-366)Online publication date: Oct-2021
  • (2021)The Need for Automated Analysis of Computer Systems’ ConfigurationAdvances in Systems Engineering10.1007/978-3-030-92604-5_43(488-497)Online publication date: 11-Dec-2021
  • (2020)What should your run-time configuration framework do to help developers?Empirical Software Engineering10.1007/s10664-019-09790-x25:2(1259-1293)Online publication date: 17-Jan-2020
  • (2018)ConfVD: System Reactions Analysis and Evaluation Through Misconfiguration InjectionIEEE Transactions on Reliability10.1109/TR.2018.286596267:4(1393-1405)Online publication date: Dec-2018
  • Show More Cited By

View Options

Get Access

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media