Write a Blog >>
ICSE 2021
Mon 17 May - Sat 5 June 2021

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 abstract query language. These abstract queries are translated into concrete, executable ORM queries, which are ultimately used to differentially test the correctness of target implementations. The effectiveness of our method heavily relies on the data inserted to the underlying databases. Therefore, we employ a solver-based approach for producing targeted database records with respect to the constraints of the generated queries. We implement our approach as a tool, called CYNTHIA, which found 25 bugs in five popular ORM systems. The vast majority of these bugs are confirmed (23 / 25), more than half were fixed (15 / 25), and three were marked as release blockers by the corresponding developers.

Fri 28 May

Displayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change

11:30 - 12:30
4.2.3. Testing: 3rd Party SoftwareJournal-First Papers / Technical Track at Blended Sessions Room 3 +12h
Chair(s): Leonardo Mariani University of Milano Bicocca
11:30
20m
Paper
Evaluating Unit Testing Practices in R PackagesTechnical Track
Technical Track
Melina Vidoni RMIT University
Pre-print Media Attached
11:50
20m
Paper
Data-Oriented Differential Testing of Object-Relational Mapping SystemsArtifact ReusableTechnical TrackArtifact Available
Technical Track
Thodoris Sotiropoulos Athens University of Economics and Business, Stefanos Chaliasos Athens University of Economics and Business, Vaggelis Atlidakis Columbia University, Dimitris Mitropoulos National and Kapodistrian University of Athens, Diomidis Spinellis Athens University of Economics and Business & TU Delft
Pre-print Media Attached
12:10
20m
Paper
A Practical Approach to Verification of Floating-Point C/C++ Programs with math.h/cmath FunctionsJournal-First
Journal-First Papers
Roberto Bagnara University of Parma, BUGSENG srl, Michele Chiari Politecnico di Milano, Roberta Gori University of Pisa, Abramo Bagnara BUGSENG srl
Link to publication DOI Pre-print Media Attached
23:30 - 00:30
4.2.3. Testing: 3rd Party SoftwareTechnical Track / Journal-First Papers at Blended Sessions Room 3
23:30
20m
Paper
Evaluating Unit Testing Practices in R PackagesTechnical Track
Technical Track
Melina Vidoni RMIT University
Pre-print Media Attached
23:50
20m
Paper
Data-Oriented Differential Testing of Object-Relational Mapping SystemsArtifact ReusableTechnical TrackArtifact Available
Technical Track
Thodoris Sotiropoulos Athens University of Economics and Business, Stefanos Chaliasos Athens University of Economics and Business, Vaggelis Atlidakis Columbia University, Dimitris Mitropoulos National and Kapodistrian University of Athens, Diomidis Spinellis Athens University of Economics and Business & TU Delft
Pre-print Media Attached
00:10
20m
Paper
A Practical Approach to Verification of Floating-Point C/C++ Programs with math.h/cmath FunctionsJournal-First
Journal-First Papers
Roberto Bagnara University of Parma, BUGSENG srl, Michele Chiari Politecnico di Milano, Roberta Gori University of Pisa, Abramo Bagnara BUGSENG srl
Link to publication DOI Pre-print Media Attached