Preventing Data Errors with Continuous Testing
Kıvanç ¡Muşlu ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡Yuriy ¡Brun ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡Alexandra ¡Meliou ¡ ¡
University of Washington University of Massachusetts
Preventing Data Errors with Continuous Testing Kvan Mulu - - PowerPoint PPT Presentation
Preventing Data Errors with Continuous Testing Kvan Mulu Yuriy Brun Alexandra Meliou University of Washington University
University of Washington University of Massachusetts
6:15 ¡PM ¡ 6:15 ¡PM ¡ 6:22 ¡PM ¡ 9:40 ¡PM ¡ 8:33 ¡PM ¡ 9:54 ¡PM ¡
slide ¡credit: ¡Luna ¡Dong ¡and ¡Divesh ¡Srivastava ¡
Charles ¡Babbage, ¡from ¡Passages ¡from ¡the ¡Life ¡of ¡a ¡Philosopher ¡
Data ¡came ¡from ¡real-‑world ¡spreadsheets ¡ from ¡data.gov ¡and ¡the ¡EUSES ¡corpus; ¡ ¡ tests ¡from ¡formulae ¡in ¡the ¡spreadsheets. ¡ 96 ¡disVnct ¡users ¡were ¡asked ¡to ¡copy ¡ ¡ numeric ¡values ¡into ¡the ¡corresponding ¡cells ¡
Amazon ¡Mechanical ¡Turk ¡
Group ¡1: ¡control ¡
No ¡highlighVng. ¡ ¡Submiqng ¡errors ¡allowed. ¡
Group ¡2: ¡CDT ¡
Data ¡involved ¡in ¡failing ¡tests ¡highlighted. ¡Submiqng ¡errors ¡OK. ¡
Group ¡3: ¡CDT ¡with ¡false ¡posiVves ¡
Data ¡involved ¡in ¡failing ¡test ¡and ¡40% ¡extra ¡data ¡highlighted. ¡Submiqng ¡errors ¡OK. ¡
Group ¡4: ¡integrity ¡constraints ¡
Data ¡involved ¡in ¡failing ¡integrity ¡constraints ¡highlighted. ¡No ¡submiqng ¡errors. ¡
20 40 60 80 100 corrected errors (%) time to correct (sec) control integrity constraints CDT CDTFP
2 4 6 8 10 12 14 16 18 0.1/min 0.2/min 0.33/min 1/min 2/min
Overhead (%)
NaïveCDT SimpleCDT SmartCDT SmartCDTTC SmartCDTIT SmartCDTTC+IT
more ¡frequent ¡updates ¡= ¡more ¡overhead ¡ Even ¡with ¡frequent ¡ updates, ¡overhead ¡ is ¡manageable ¡
Chays, ¡Shahid, ¡and ¡Frankl. ¡Query-‑based ¡test ¡generaVon ¡ for ¡database ¡applicaVons. ¡DBTest ¡2008. ¡ ¡ Khalek ¡and ¡Khurshid. ¡SystemaVc ¡tesVng ¡of ¡database ¡ engines ¡using ¡a ¡relaVonal ¡constraint ¡solver. ¡ICST ¡2011. ¡ ¡ Li ¡and ¡Csallner. ¡Dynamic ¡symbolic ¡database ¡applicaVon ¡
¡ Pan, ¡Wu, ¡and ¡Xie. ¡Database ¡state ¡generaVon ¡via ¡dynamic ¡ symbolic ¡execuVon ¡for ¡coverage ¡criteria. ¡DBTest ¡2011. ¡ ¡ Pan, ¡Wu, ¡and ¡Xie. ¡GeneraVng ¡program ¡inputs ¡for ¡database ¡ applicaVon ¡tesVng. ¡ASE ¡2011. ¡
Saff ¡and ¡Ernst. ¡Reducing ¡wasted ¡development ¡Vme ¡via ¡ conVnuous ¡tesVng. ¡ISSRE ¡2003. ¡ ¡ Saff ¡and ¡Ernst. ¡An ¡experimental ¡evaluaVon ¡of ¡conVnuous ¡ tesVng ¡during ¡development. ¡ISSTA ¡2004. ¡
Katzan ¡Jr. ¡Batch, ¡conversaVonal, ¡and ¡incremental ¡
Processing ¡SocieVes ¡1969. ¡ ¡ Muslu, ¡Brun, ¡Holmes, ¡Ernst, ¡and ¡Notkin. ¡SpeculaVve ¡ analysis ¡of ¡integrated ¡development ¡environment ¡
¡
Badame ¡and ¡Dig. ¡Refactoring ¡meets ¡spreadsheet ¡formulas. ¡ ICSM ¡2012. ¡ ¡ Barowy, ¡Gochev, ¡and ¡Berger. ¡CheckCell: ¡Data ¡debugging ¡ for ¡spreadsheets. ¡OOPSLA ¡2014. ¡ ¡ Hermans ¡and ¡Dig. ¡BumbleBee: ¡A ¡refactoring ¡environment ¡ for ¡spreadsheet ¡formulas. ¡FSE ¡Tool ¡Demo ¡2014. ¡
Culoea ¡and ¡McCallum. ¡Joint ¡deduplicaVon ¡of ¡mulVple ¡ record ¡types ¡in ¡relaVonal ¡data. ¡CIKM ¡2005. ¡ ¡
¡ Dong, ¡Halevy, ¡and ¡Madhavan. ¡Reference ¡reconciliaVon ¡ in ¡complex ¡informaVon ¡spaces. ¡SIGMOD ¡2005. ¡ ¡ Li, ¡Tziviskou, ¡Wang, ¡Dong, ¡Liu, ¡Maurino, ¡and ¡Srivastava. ¡ Chronos: ¡FacilitaVng ¡history ¡discovery ¡by ¡linking ¡ temporal ¡records. ¡PVLDB ¡ ¡2012. ¡ ¡ Kashyap ¡and ¡Sheth. ¡SemanVc ¡and ¡schemaVc ¡similariVes ¡ between ¡database ¡objects: ¡A ¡context-‑based ¡approach. ¡ The ¡VLDB ¡Journal ¡1996. ¡ ¡ Hernandez ¡and ¡Stolfo. ¡The ¡merge/purge ¡problem ¡for ¡ large ¡databases. ¡SIGMOD ¡1995. ¡
Meliou, ¡Gaeerbauer, ¡Moore, ¡and ¡Suciu. ¡The ¡complexity ¡of ¡ causality ¡and ¡responsibility ¡for ¡query ¡answers ¡and ¡non-‑
¡ Meliou, ¡Roy, ¡and ¡Suciu. ¡Causality ¡and ¡explanaVons ¡ in ¡databases. ¡PVLDB ¡2014. ¡ ¡ Wang, ¡Dong, ¡and ¡Meliou. ¡Data ¡X-‑Ray: ¡A ¡diagnosVc ¡tool ¡ for ¡data ¡errors. ¡SIGMOD ¡2015. ¡ ¡ Khoussainova, ¡Balazinska, ¡and ¡Suciu. ¡Towards ¡correcVng ¡ input ¡data ¡errors ¡probabilisVcally ¡using ¡integrity ¡
Engineering ¡for ¡Wireless ¡and ¡Mobile ¡Access ¡2006. ¡