Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
article

AutoBash: improving configuration management with operating system causality analysis

Published: 14 October 2007 Publication History

Abstract

AutoBash is a set of interactive tools that helps users and system administrators manage configurations. AutoBash leverages causal tracking support implemented within our modified Linux kernel to understand the inputs (causal dependencies) and outputs (causal effects) of configuration actions. It uses OS-level speculative execution to try possible actions, examine their effects, and roll them back when necessary. AutoBash automates many of the tedious parts of trying to fix a misconfiguration, including searching through possible solutions, testing whether a particular solution fixes a problem, and undoing changes to persistent and transient state when a solution fails. Our results show that AutoBash correctly identifies the solution to several CVS, gcc cross-compiler, and Apache configuration errors. We also show that causal analysis reduces AutoBash's search time by an average of 35% and solution verification time by an average of 70%.

Supplementary Material

JPG File (1294284.jpg)
index.html (index.html)
Slides from the presentation
ZIP File (p237-slides.zip)
Supplemental material for AutoBash: improving configuration management with operating system causality analysis
Audio only (1294284.mp3)
Video (1294284.mp4)

References

[1]
Aguilera, M. K., Mogul, J. C., Wiener, J. L., Reynolds, P., and Muthitacharoen, A. Performance debugging for distributed systems of black boxes. In Proceedings of the 19th ACM Symposium on Operating Systems Principles (Bolton Landing, NY, October 2003), pp. 74--89.
[2]
Brown, A. B., and Patterson, D. A. Undo for operators:Building an undoable e-mail store. In Proceedings of the 2003 USENIX Technical Conference (San Antonio, TX, June 2003).
[3]
Chanda, A., Elmeleegy, K., Cox, A. L., and Zwaenepoel, W. Causeway: Operating system support for controlling and analyzing the execution of distributed programs. In Proceedings of the 10th Workshop on Hot Topics in Operating Systems (HotOS--X) (Santa Fe, NM, June 2005).
[4]
Cohen, I., Zhang, S., Goldszmidt, M., Symons, J., Kelly, T., and Fox, A. Capturing, indexing, clustering, and retrieving system history. In Proceedings of the 20th ACM Symposium on Operating Systems Principles (Brighton, United Kingdom, October 2005), pp. 105--118.
[5]
Ha, J., Rossbach, C. J., Davis, J. V., Roy, I., Ramadan, H. E., Porter, D. E., Chen, D. L., and Witchel, E. Improved error reporting for software that uses black-box components. In Proceedings of the Conference on Programming Language Design and Implementation 2007 (San Diego, CA, 2007).
[6]
Holland, D. A., Josephson, W., Magoutis, K., Seltzer, M., Stein, C., and Lim, A. Research issues in no-futz computing. In Proceedings of the 8th Workshop on Hot Topics in Operating Systems (HotOS--VIII) (Schloss Elmau, Germany, May 2001), pp. 106--110.
[7]
Huang, Q., Wang, H. J., and Borisov, N. Privacy-preserving friends troubleshooting network. In Proceedings of the 12th Network and Distributed System Security Symposium (San Diego, CA, February 2005), pp. 245--257.
[8]
Jefferson, D., Beckman, B., Wieland, F., Blume, L., DiLoreto, M., P.Hontalas, Laroche, P., Sturdevant, K., Tupman, J., Warren, V., Weidel, J., Younger, H., and Bellenot, S. Time Warp operating system. In Proceedings of the 11th ACM Symposium on Operating Systems Principles (Austin, TX, November 1987), pp. 77--93.
[9]
Joshi, A., King, S. T., Dunlap, G. W., and Chen, P. M. Detecting past and present intrusions through vulnerability-specific predicates. In Proceedings of the 20th ACM Symposium on Operating Systems Principles (Brighton, United Kingdom, October 2005), pp. 91--104.
[10]
Kephart, J., and Chess, D. M. The vision of autonomic computing. Computer 36, 1 (2003), 45--52.
[11]
King, S. T., and Chen, P. M. Backtracking intrusions. In Proceedings of the 19th ACM Symposium on Operating Systems Principles (Bolton Landing, NY, October 2003), pp. 223--236.
[12]
Li, T., Ellis, C. S., Lebeck, A. R., and Sorin, D. J. Pulse: A dynamic deadlock detection mechanism using speculative execution. In Proceedings of the 2005 USENIX Technical Conference (3144, April 2005).
[13]
Mummert, L., Ebling, M., and Satyanarayanan, M. Exploiting weak connectivity in mobile le access. In Proceedings of the 15th ACM Symposium on Operating Systems Principles (Copper Mountain, CO, Dec. 1995).
[14]
Muniswamy-Reddy, K.-K., Holland, D. A., Braun, U., and Seltzer, M. Provenance-aware storage systems. In Proceedings of the 2006 USENIX Annual Technical Conference (Boston, MA, May/June 2006), pp. 43--56.
[15]
Nightingale, E. B., Chen, P. M., and Flinn, J. Speculative execution in a distributed le system. In Proceedings of the 20th ACM Symposium on Operating Systems Principles (Brighton, United Kingdom, October 2005), pp. 191--205.
[16]
Qin, F., Tucek, J., Sundaresan, J., and Zhou, Y. Rx: Treating bugs as allergies|a safe method to survive software failures. In Proceedings of the 20th ACM Symposium on Operating Systems Principles (Brighton, United Kingdom, October 2005), pp. 235--248.
[17]
Su, Y.-Y., and Flinn, J. Slingshot: Deploying stateful services in wireless hotspots. In Proceedings of the 3rd International Conference on Mobile Systems, Applications and Services (Seattle, WA, June 2005), pp. 79--92.
[18]
Wang, H. J., Platt, J. C., Chen, Y., Zhang, R., and Wang, Y.-M. Automatic miscon guration troubleshooting with PeerPressure. In Proceedings of the 6th Symposium on Operating Systems Design and Implementation (San Francisco, CA, December 2004), pp. 245--257.
[19]
Wang, Y.-M., Verbowski, C., Dunagan, J., Chen, Y.,Wang, H. J., Yuan, C., and Zhang, Z. STRIDER: A black-box, state-based approach to change and configuration management and support. In Proceedings of Usenix Large Installation Systems Administration Conference (October 2003), pp. 159--172.
[20]
Whitaker, A., Cox, R. S., and Gribble, S. D. Configuration debugging as search: Finding the needle in the haystack. In Proceedings of the 6th Symposium on Operating Systems Design and Implementation (San Francisco, CA, December 2004), pp. 77--90.

Cited By

View all
  • (2023)Improving logging to reduce permission over-granting mistakesProceedings of the 32nd USENIX Conference on Security Symposium10.5555/3620237.3620261(409-426)Online publication date: 9-Aug-2023
  • (2023)Executing Shell Scripts in the Wrong Order, CorrectlyProceedings of the 19th Workshop on Hot Topics in Operating Systems10.1145/3593856.3595891(103-109)Online publication date: 22-Jun-2023
  • (2022)A Real-Time Detection Method of Software Configuration Errors Based on Fine-Grained Configuration Item TypesScientific Programming10.1155/2022/44153662022Online publication date: 1-Jan-2022
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM SIGOPS Operating Systems Review
ACM SIGOPS Operating Systems Review  Volume 41, Issue 6
SOSP '07
December 2007
363 pages
ISSN:0163-5980
DOI:10.1145/1323293
Issue’s Table of Contents
  • cover image ACM Conferences
    SOSP '07: Proceedings of twenty-first ACM SIGOPS symposium on Operating systems principles
    October 2007
    378 pages
    ISBN:9781595935915
    DOI:10.1145/1294261
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 14 October 2007
Published in SIGOPS Volume 41, Issue 6

Check for updates

Author Tags

  1. causality
  2. configuration management
  3. speculative execution

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)36
  • Downloads (Last 6 weeks)9
Reflects downloads up to 24 Jan 2025

Other Metrics

Citations

Cited By

View all
  • (2023)Improving logging to reduce permission over-granting mistakesProceedings of the 32nd USENIX Conference on Security Symposium10.5555/3620237.3620261(409-426)Online publication date: 9-Aug-2023
  • (2023)Executing Shell Scripts in the Wrong Order, CorrectlyProceedings of the 19th Workshop on Hot Topics in Operating Systems10.1145/3593856.3595891(103-109)Online publication date: 22-Jun-2023
  • (2022)A Real-Time Detection Method of Software Configuration Errors Based on Fine-Grained Configuration Item TypesScientific Programming10.1155/2022/44153662022Online publication date: 1-Jan-2022
  • (2022)Learning CI Configuration Correctness for Early Build Feedback2022 IEEE International Conference on Software Analysis, Evolution and Reengineering (SANER)10.1109/SANER53432.2022.00118(1006-1017)Online publication date: Mar-2022
  • (2021)A Novel Method to Prevent Misconfigurations of Industrial Automation and Control SystemsIEEE Transactions on Industrial Informatics10.1109/TII.2020.301775417:6(4210-4218)Online publication date: Jun-2021
  • (2021)Recovery‐Oriented ComputingFrom Traditional Fault Tolerance to Blockchain10.1002/9781119682127.ch3(63-101)Online publication date: 18-Jun-2021
  • (2020)Automated implementation of windows-related security-configuration guidesProceedings of the 35th IEEE/ACM International Conference on Automated Software Engineering10.1145/3324884.3416540(598-610)Online publication date: 21-Dec-2020
  • (2020)Software Configuration Engineering in Practice Interviews, Survey, and Systematic Literature ReviewIEEE Transactions on Software Engineering10.1109/TSE.2018.286784746:6(646-673)Online publication date: 12-Jun-2020
  • (2019)DockerizeMeProceedings of the 41st International Conference on Software Engineering10.1109/ICSE.2019.00047(328-338)Online publication date: 25-May-2019
  • (2019)Mis.Config: Finding Misreferred Configuration Bugs in Web Application Using Thin SlicingComputer and Information Science10.1007/978-3-030-25213-7_4(47-64)Online publication date: 7-Aug-2019
  • Show More Cited By

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media