Unicorn: Detect Runtime Error in Time-Series Databases With Hybrid Input Synthesis
Thu 21 Jul 2022 18:20 - 18:40 at ISSTA 1 - Session 3-7: Test Generation and Mutation E
The ubiquitous use of time-series databases in the safety-critical Internet of Things domain demands strict security and correctness. One successful approach in database bug detection is fuzzing, where hundreds of bugs have been detected automatically in relational databases. However, it cannot be easily applied to time-series databases: the bulk of time-series logic is unreachable because of mismatched query specifications, and serious bugs are undetectable because of implicitly handled exceptions.
In this paper, we propose Unicorn to secure time-series databases with automated fuzzing. First, we design hybrid input synthesis to generate high-quality queries which not only cover time-series features but also ensure grammar correctness. Then, Unicorn uses proactive exception detection to discover minuscule-symptom bugs which hide behind implicit exception handling. With the specialized design oriented to time-series databases, Unicorn outperforms the state-of-the-art database fuzzers in terms of coverage and bugs. Specifically, Unicorn outperforms SQLsmith and SQLancer on widely used time-series databases IoTDB, KairosDB, TimescaleDB, TDEngine, QuestDB, and GridDB in the number of basic blocks by 21%-199% and 34%-693%, respectively. More importantly, Unicorn has discovered 42 previously unknown bugs.
Thu 21 JulDisplayed time zone: Seoul change
08:40 - 09:40 | |||
08:40 20mTalk | Finding Bugs in Gremlin-Based Graph Database Systems via Randomized Differential Testing Technical Papers Yingying Zheng Institute of Software Chinese Academy of Sciences, Wensheng Dou Institute of Software at Chinese Academy of Sciences; University of Chinese Academy of Sciences, Yicheng Wang Institute of Software Chinese Academy of Sciences, Zheng Qin Institute of Software Chinese Academy of Sciences, Lei Tang Institute of Software Chinese Academy of Sciences, Yu Gao Institute of Software, Chinese Academy of Sciences, China, Dong Wang Institute of software, Chinese academy of sciences, Wei Wang , Jun Wei Institute of Software at Chinese Academy of Sciences; University of Chinese Academy of Sciences DOI | ||
09:00 20mTalk | RegMiner: Towards Constructing a Large Regression Dataset from Code Evolution History Technical Papers Xuezhi Song Fudan University, Yun Lin National University of Singapore, Siang Hwee Ng National University of Singapore, Yijian Wu Fudan University, Xin Peng Fudan University, Jin Song Dong National University of Singapore, Hong Mei Peking University DOI Pre-print | ||
09:20 20mTalk | Unicorn: Detect Runtime Error in Time-Series Databases With Hybrid Input Synthesis Technical Papers Zhiyong Wu Tsinghua University, China, Jie Liang School of Software, Tsinghua University, Mingzhe Wang Tsinghua University, Chijin Zhou Tsinghua University, Yu Jiang Tsinghua University DOI |
18:00 - 18:40 | |||
18:00 20mTalk | Finding Bugs in Gremlin-Based Graph Database Systems via Randomized Differential Testing Technical Papers Yingying Zheng Institute of Software Chinese Academy of Sciences, Wensheng Dou Institute of Software at Chinese Academy of Sciences; University of Chinese Academy of Sciences, Yicheng Wang Institute of Software Chinese Academy of Sciences, Zheng Qin Institute of Software Chinese Academy of Sciences, Lei Tang Institute of Software Chinese Academy of Sciences, Yu Gao Institute of Software, Chinese Academy of Sciences, China, Dong Wang Institute of software, Chinese academy of sciences, Wei Wang , Jun Wei Institute of Software at Chinese Academy of Sciences; University of Chinese Academy of Sciences DOI | ||
18:20 20mTalk | Unicorn: Detect Runtime Error in Time-Series Databases With Hybrid Input Synthesis Technical Papers Zhiyong Wu Tsinghua University, China, Jie Liang School of Software, Tsinghua University, Mingzhe Wang Tsinghua University, Chijin Zhou Tsinghua University, Yu Jiang Tsinghua University DOI |