License: Creative Commons Attribution 3.0 Unported license (CC BY 3.0)
When quoting this document, please refer to the following
DOI: 10.4230/LIPIcs.ECOOP.2016.24
URN: urn:nbn:de:0030-drops-61185
URL: http://dagstuhl.sunsite.rwth-aachen.de/volltexte/2016/6118/
Go to the corresponding LIPIcs Volume Portal


Toman, John ; Grossman, Dan

Staccato: A Bug Finder for Dynamic Configuration Updates

pdf-format:
LIPIcs-ECOOP-2016-24.pdf (0.6 MB)


Abstract

Modern software applications are highly configurable, allowing
configuration options to be changed even during program
execution. When dynamic configuration updating is implemented
incorrectly, program errors can result. These program errors occur
primarily when stale data—computed from old configurations—or
inconsistent data—computed from different configurations—are used. We introduce Staccato, the first tool designed to detect these
errors. Staccato uses a dynamic analysis in the style of taint
analysis to find the use of stale configuration data in Java
programs. It supports concurrent programs running on commodity
JVMs. In some cases, Staccato can provide automatic bug avoidance and semi-automatic repair when errors occur.

We evaluated Staccato on 3 open-source applications that support
complex reconfigurability. Staccato found multiple errors in all of
them. Staccato requires only modest annotation overhead and has
moderate performance overhead.

BibTeX - Entry

@InProceedings{toman_et_al:LIPIcs:2016:6118,
  author =	{John Toman and Dan Grossman},
  title =	{{Staccato: A Bug Finder for Dynamic Configuration Updates}},
  booktitle =	{30th European Conference on Object-Oriented Programming (ECOOP 2016)},
  pages =	{24:1--24:25},
  series =	{Leibniz International Proceedings in Informatics (LIPIcs)},
  ISBN =	{978-3-95977-014-9},
  ISSN =	{1868-8969},
  year =	{2016},
  volume =	{56},
  editor =	{Shriram Krishnamurthi and Benjamin S. Lerner},
  publisher =	{Schloss Dagstuhl--Leibniz-Zentrum fuer Informatik},
  address =	{Dagstuhl, Germany},
  URL =		{http://drops.dagstuhl.de/opus/volltexte/2016/6118},
  URN =		{urn:nbn:de:0030-drops-61185},
  doi =		{10.4230/LIPIcs.ECOOP.2016.24},
  annote =	{Keywords: Dynamic Configuration Updates, Dynamic Analysis, Software configuration}
}

Keywords: Dynamic Configuration Updates, Dynamic Analysis, Software configuration
Collection: 30th European Conference on Object-Oriented Programming (ECOOP 2016)
Issue Date: 2016
Date of publication: 18.07.2016


DROPS-Home | Fulltext Search | Imprint | Privacy Published by LZI