Loading…

CLOTHO: directed test generation for weakly consistent database systems

Relational database applications are notoriously difficult to test and debug. Concurrent execution of database transactions may violate complex structural invariants that constraint how changes to the contents of one (shared) table affect the contents of another. Simplifying the underlying concurren...

Full description

Saved in:
Bibliographic Details
Published in:Proceedings of ACM on programming languages 2019-10, Vol.3 (OOPSLA), p.1-28
Main Authors: Rahmani, Kia, Nagar, Kartik, Delaware, Benjamin, Jagannathan, Suresh
Format: Article
Language:English
Citations: Items that this one cites
Items that cite this one
Online Access:Get full text
Tags: Add Tag
No Tags, Be the first to tag this record!
cited_by cdi_FETCH-LOGICAL-c258t-57e711ca6d4c7adae987dc54716afa35a0cb934eecac163269563d52538af5423
cites cdi_FETCH-LOGICAL-c258t-57e711ca6d4c7adae987dc54716afa35a0cb934eecac163269563d52538af5423
container_end_page 28
container_issue OOPSLA
container_start_page 1
container_title Proceedings of ACM on programming languages
container_volume 3
creator Rahmani, Kia
Nagar, Kartik
Delaware, Benjamin
Jagannathan, Suresh
description Relational database applications are notoriously difficult to test and debug. Concurrent execution of database transactions may violate complex structural invariants that constraint how changes to the contents of one (shared) table affect the contents of another. Simplifying the underlying concurrency model is one way to ameliorate the difficulty of understanding how concurrent accesses and updates can affect database state with respect to these sophisticated properties. Enforcing serializable execution of all transactions achieves this simplification, but it comes at a significant price in performance, especially at scale, where database state is often replicated to improve latency and availability. To address these challenges, this paper presents a novel testing framework for detecting serializability violations in (SQL) database-backed Java applications executing on weakly-consistent storage systems. We manifest our approach in a tool, CLOTHO, that combines a static analyzer and model checker to generate abstract executions, discover serializability violations in these executions, and translate them back into concrete test inputs suitable for deployment in a test environment. To the best of our knowledge, CLOTHO, is the first automated test generation facility for identifying serializability anomalies of Java applications intended to operate in geo-replicated distributed environments. An experimental evaluation on a set of industry-standard benchmarks demonstrates the utility of our approach.
doi_str_mv 10.1145/3360543
format article
fullrecord <record><control><sourceid>crossref</sourceid><recordid>TN_cdi_crossref_primary_10_1145_3360543</recordid><sourceformat>XML</sourceformat><sourcesystem>PC</sourcesystem><sourcerecordid>10_1145_3360543</sourcerecordid><originalsourceid>FETCH-LOGICAL-c258t-57e711ca6d4c7adae987dc54716afa35a0cb934eecac163269563d52538af5423</originalsourceid><addsrcrecordid>eNpNkE1Lw0AURQexYKmlf2F2rqLz9WYSdxK0FQLZ1HV4nXmRaJvIzIDk31uxC1f3cheHy2FsI8W9lAYetLYCjL5iS2UcFNIoef2v37B1Sh9CCFlpU-pqybZ10-537SMPQySfKfBMKfN3GiliHqaR91Pk34Sfx5n7aUxDyjRmHjDjARPxNJ-HU7plix6PidaXXLG3l-d9vSuadvtaPzWFV1DmAhw5KT3aYLzDgFSVLngwTlrsUQMKfzhfI_LopdXKVmB1AAW6xB6M0it298f1cUopUt99xeGEce6k6H4VdBcF-gcXJ01Y</addsrcrecordid><sourcetype>Aggregation Database</sourcetype><iscdi>true</iscdi><recordtype>article</recordtype></control><display><type>article</type><title>CLOTHO: directed test generation for weakly consistent database systems</title><source>ACM Digital Library</source><creator>Rahmani, Kia ; Nagar, Kartik ; Delaware, Benjamin ; Jagannathan, Suresh</creator><creatorcontrib>Rahmani, Kia ; Nagar, Kartik ; Delaware, Benjamin ; Jagannathan, Suresh</creatorcontrib><description>Relational database applications are notoriously difficult to test and debug. Concurrent execution of database transactions may violate complex structural invariants that constraint how changes to the contents of one (shared) table affect the contents of another. Simplifying the underlying concurrency model is one way to ameliorate the difficulty of understanding how concurrent accesses and updates can affect database state with respect to these sophisticated properties. Enforcing serializable execution of all transactions achieves this simplification, but it comes at a significant price in performance, especially at scale, where database state is often replicated to improve latency and availability. To address these challenges, this paper presents a novel testing framework for detecting serializability violations in (SQL) database-backed Java applications executing on weakly-consistent storage systems. We manifest our approach in a tool, CLOTHO, that combines a static analyzer and model checker to generate abstract executions, discover serializability violations in these executions, and translate them back into concrete test inputs suitable for deployment in a test environment. To the best of our knowledge, CLOTHO, is the first automated test generation facility for identifying serializability anomalies of Java applications intended to operate in geo-replicated distributed environments. An experimental evaluation on a set of industry-standard benchmarks demonstrates the utility of our approach.</description><identifier>ISSN: 2475-1421</identifier><identifier>EISSN: 2475-1421</identifier><identifier>DOI: 10.1145/3360543</identifier><language>eng</language><ispartof>Proceedings of ACM on programming languages, 2019-10, Vol.3 (OOPSLA), p.1-28</ispartof><lds50>peer_reviewed</lds50><oa>free_for_read</oa><woscitedreferencessubscribed>false</woscitedreferencessubscribed><citedby>FETCH-LOGICAL-c258t-57e711ca6d4c7adae987dc54716afa35a0cb934eecac163269563d52538af5423</citedby><cites>FETCH-LOGICAL-c258t-57e711ca6d4c7adae987dc54716afa35a0cb934eecac163269563d52538af5423</cites></display><links><openurl>$$Topenurl_article</openurl><openurlfulltext>$$Topenurlfull_article</openurlfulltext><thumbnail>$$Tsyndetics_thumb_exl</thumbnail><link.rule.ids>314,780,784,27924,27925</link.rule.ids></links><search><creatorcontrib>Rahmani, Kia</creatorcontrib><creatorcontrib>Nagar, Kartik</creatorcontrib><creatorcontrib>Delaware, Benjamin</creatorcontrib><creatorcontrib>Jagannathan, Suresh</creatorcontrib><title>CLOTHO: directed test generation for weakly consistent database systems</title><title>Proceedings of ACM on programming languages</title><description>Relational database applications are notoriously difficult to test and debug. Concurrent execution of database transactions may violate complex structural invariants that constraint how changes to the contents of one (shared) table affect the contents of another. Simplifying the underlying concurrency model is one way to ameliorate the difficulty of understanding how concurrent accesses and updates can affect database state with respect to these sophisticated properties. Enforcing serializable execution of all transactions achieves this simplification, but it comes at a significant price in performance, especially at scale, where database state is often replicated to improve latency and availability. To address these challenges, this paper presents a novel testing framework for detecting serializability violations in (SQL) database-backed Java applications executing on weakly-consistent storage systems. We manifest our approach in a tool, CLOTHO, that combines a static analyzer and model checker to generate abstract executions, discover serializability violations in these executions, and translate them back into concrete test inputs suitable for deployment in a test environment. To the best of our knowledge, CLOTHO, is the first automated test generation facility for identifying serializability anomalies of Java applications intended to operate in geo-replicated distributed environments. An experimental evaluation on a set of industry-standard benchmarks demonstrates the utility of our approach.</description><issn>2475-1421</issn><issn>2475-1421</issn><fulltext>true</fulltext><rsrctype>article</rsrctype><creationdate>2019</creationdate><recordtype>article</recordtype><recordid>eNpNkE1Lw0AURQexYKmlf2F2rqLz9WYSdxK0FQLZ1HV4nXmRaJvIzIDk31uxC1f3cheHy2FsI8W9lAYetLYCjL5iS2UcFNIoef2v37B1Sh9CCFlpU-pqybZ10-537SMPQySfKfBMKfN3GiliHqaR91Pk34Sfx5n7aUxDyjRmHjDjARPxNJ-HU7plix6PidaXXLG3l-d9vSuadvtaPzWFV1DmAhw5KT3aYLzDgFSVLngwTlrsUQMKfzhfI_LopdXKVmB1AAW6xB6M0it298f1cUopUt99xeGEce6k6H4VdBcF-gcXJ01Y</recordid><startdate>20191001</startdate><enddate>20191001</enddate><creator>Rahmani, Kia</creator><creator>Nagar, Kartik</creator><creator>Delaware, Benjamin</creator><creator>Jagannathan, Suresh</creator><scope>AAYXX</scope><scope>CITATION</scope></search><sort><creationdate>20191001</creationdate><title>CLOTHO: directed test generation for weakly consistent database systems</title><author>Rahmani, Kia ; Nagar, Kartik ; Delaware, Benjamin ; Jagannathan, Suresh</author></sort><facets><frbrtype>5</frbrtype><frbrgroupid>cdi_FETCH-LOGICAL-c258t-57e711ca6d4c7adae987dc54716afa35a0cb934eecac163269563d52538af5423</frbrgroupid><rsrctype>articles</rsrctype><prefilter>articles</prefilter><language>eng</language><creationdate>2019</creationdate><toplevel>peer_reviewed</toplevel><toplevel>online_resources</toplevel><creatorcontrib>Rahmani, Kia</creatorcontrib><creatorcontrib>Nagar, Kartik</creatorcontrib><creatorcontrib>Delaware, Benjamin</creatorcontrib><creatorcontrib>Jagannathan, Suresh</creatorcontrib><collection>CrossRef</collection><jtitle>Proceedings of ACM on programming languages</jtitle></facets><delivery><delcategory>Remote Search Resource</delcategory><fulltext>fulltext</fulltext></delivery><addata><au>Rahmani, Kia</au><au>Nagar, Kartik</au><au>Delaware, Benjamin</au><au>Jagannathan, Suresh</au><format>journal</format><genre>article</genre><ristype>JOUR</ristype><atitle>CLOTHO: directed test generation for weakly consistent database systems</atitle><jtitle>Proceedings of ACM on programming languages</jtitle><date>2019-10-01</date><risdate>2019</risdate><volume>3</volume><issue>OOPSLA</issue><spage>1</spage><epage>28</epage><pages>1-28</pages><issn>2475-1421</issn><eissn>2475-1421</eissn><abstract>Relational database applications are notoriously difficult to test and debug. Concurrent execution of database transactions may violate complex structural invariants that constraint how changes to the contents of one (shared) table affect the contents of another. Simplifying the underlying concurrency model is one way to ameliorate the difficulty of understanding how concurrent accesses and updates can affect database state with respect to these sophisticated properties. Enforcing serializable execution of all transactions achieves this simplification, but it comes at a significant price in performance, especially at scale, where database state is often replicated to improve latency and availability. To address these challenges, this paper presents a novel testing framework for detecting serializability violations in (SQL) database-backed Java applications executing on weakly-consistent storage systems. We manifest our approach in a tool, CLOTHO, that combines a static analyzer and model checker to generate abstract executions, discover serializability violations in these executions, and translate them back into concrete test inputs suitable for deployment in a test environment. To the best of our knowledge, CLOTHO, is the first automated test generation facility for identifying serializability anomalies of Java applications intended to operate in geo-replicated distributed environments. An experimental evaluation on a set of industry-standard benchmarks demonstrates the utility of our approach.</abstract><doi>10.1145/3360543</doi><tpages>28</tpages><oa>free_for_read</oa></addata></record>
fulltext fulltext
identifier ISSN: 2475-1421
ispartof Proceedings of ACM on programming languages, 2019-10, Vol.3 (OOPSLA), p.1-28
issn 2475-1421
2475-1421
language eng
recordid cdi_crossref_primary_10_1145_3360543
source ACM Digital Library
title CLOTHO: directed test generation for weakly consistent database systems
url http://sfxeu10.hosted.exlibrisgroup.com/loughborough?ctx_ver=Z39.88-2004&ctx_enc=info:ofi/enc:UTF-8&ctx_tim=2024-12-30T21%3A21%3A21IST&url_ver=Z39.88-2004&url_ctx_fmt=infofi/fmt:kev:mtx:ctx&rfr_id=info:sid/primo.exlibrisgroup.com:primo3-Article-crossref&rft_val_fmt=info:ofi/fmt:kev:mtx:journal&rft.genre=article&rft.atitle=CLOTHO:%20directed%20test%20generation%20for%20weakly%20consistent%20database%20systems&rft.jtitle=Proceedings%20of%20ACM%20on%20programming%20languages&rft.au=Rahmani,%20Kia&rft.date=2019-10-01&rft.volume=3&rft.issue=OOPSLA&rft.spage=1&rft.epage=28&rft.pages=1-28&rft.issn=2475-1421&rft.eissn=2475-1421&rft_id=info:doi/10.1145/3360543&rft_dat=%3Ccrossref%3E10_1145_3360543%3C/crossref%3E%3Cgrp_id%3Ecdi_FETCH-LOGICAL-c258t-57e711ca6d4c7adae987dc54716afa35a0cb934eecac163269563d52538af5423%3C/grp_id%3E%3Coa%3E%3C/oa%3E%3Curl%3E%3C/url%3E&rft_id=info:oai/&rft_id=info:pmid/&rfr_iscdi=true