2021 IEEE/ACM 43rd International Conference on Software Engineering (ICSE) 2021
DOI: 10.1109/icse43902.2021.00137
|View full text |Cite
|
Sign up to set email alerts
|

Data-Oriented Differential Testing of Object-Relational Mapping Systems

Abstract: We introduce, what is to the best of our knowledge, the first approach for systematically testing Object-Relational Mapping (ORM) systems. Our approach leverages differential testing to establish a test oracle for ORM-specific bugs. Specifically, we first generate random relational database schemas, set up the respective databases, and then, we query these databases using the APIs of the ORM systems under test. To tackle the challenge that ORMs lack a common input language, we generate queries written in an ab… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
5
0

Year Published

2022
2022
2024
2024

Publication Types

Select...
5
2
2

Relationship

0
9

Authors

Journals

citations
Cited by 20 publications
(5 citation statements)
references
References 30 publications
(54 reference statements)
0
5
0
Order By: Relevance
“…Code clone, or repetitive code, is a code smell that can arise when a developer copies and pastes a piece of code from one place to another [27]. This code clone method may lead to software quality problems [28]- [30], and there are some works in previous research committed to detect and solve these odors through various methods [5], [6], [16], [31].…”
Section: B Code Smells and Anti-patternsmentioning
confidence: 99%
“…Code clone, or repetitive code, is a code smell that can arise when a developer copies and pastes a piece of code from one place to another [27]. This code clone method may lead to software quality problems [28]- [30], and there are some works in previous research committed to detect and solve these odors through various methods [5], [6], [16], [31].…”
Section: B Code Smells and Anti-patternsmentioning
confidence: 99%
“…TVMfuzz [29] conducts mutationbased fuzzing to test deep learning compilers with some novel mutation operators to facilitate type-related bug detection. CYN-THIA [33] detects bugs in object-relational mapping (ORM) implementations by employing a solver-based approach for generating targeted database records with respect to the constraints of the generated queries. To detect bugs in Datalog engines, queryFuzz [14] uses metamorphic transformations based on database theory and performs metamorphic testing.…”
Section: Related Workmentioning
confidence: 99%
“…The steady state in this scenario is defined such that the SQL execution outputs are consistent between two databases. Knowledgeable audiences may notice that this setup expands the standard "differential testing" procedure [29], [30], [31], in which the experimental group must act consistently with the reference even while the former group is under the stress of CE. ② Picking Chaos Variables.…”
Section: Chaos Engineering (Ce)mentioning
confidence: 99%