Data-Oriented Differential Testing of Object-Relational Mapping Systems

被引:11
|
作者
Sotiropoulos, Thodoris [1 ]
Chaliasos, Stefanos [1 ]
Atlidakis, Vaggelis [2 ]
Mitropoulos, Dimitris [3 ]
Spinellis, Diomidis [1 ]
机构
[1] Athens Univ Econ & Business, Athens, Greece
[2] Columbia Univ, New York, NY USA
[3] Athens Univ Econ & Business, Natl Infrastruct Res & Technol GRNET, Athens, Greece
关键词
Object-Relational Mapping; Differential Testing; Automated Testing;
D O I
10.1109/ICSE43902.2021.00137
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
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 28 bugs in five popular ORM systems. The vast majority of these bugs are confirmed (25 / 28), more than half were fixed (20 / 28), and three were marked as release blockers by the corresponding developers.
引用
收藏
页码:1535 / 1547
页数:13
相关论文
共 50 条
  • [1] Replication Package for Article: Data-Oriented Differential Testing of Object-Relational Mapping Systems
    Sotiropoulos, Thodoris
    Chaliasos, Stefanos
    Atlidakis, Vaggelis
    Mitropoulos, Dimitris
    Spinellis, Diomidis
    [J]. 2021 IEEE/ACM 43RD INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING: COMPANION PROCEEDINGS (ICSE-COMPANION 2021), 2021, : 194 - 195
  • [2] Lessons in Persisting Object Data Using Object-Relational Mapping
    Vial, Gregory
    [J]. IEEE SOFTWARE, 2019, 36 (06) : 43 - 52
  • [3] A Refactorable Object-Relational Mapping
    Aslan, Fatih
    [J]. ICECCO'12: 9TH INTERNATIONAL CONFERENCE ON ELECTRONICS, COMPUTER AND COMPUTATION, 2012, : 284 - 287
  • [4] Investigating the Effects of Object-Relational Impedance Mismatch on the Efficiency of Object-Relational Mapping Frameworks
    Colley, Derek
    Stanier, Clare
    Asaduzzaman, Md
    [J]. JOURNAL OF DATABASE MANAGEMENT, 2020, 31 (04) : 1 - 23
  • [5] An approach to object-relational mapping in bioscience domains
    Tuck, D
    O'Connell, R
    Gershkovich, P
    Cowan, J
    [J]. AMIA 2002 SYMPOSIUM, PROCEEDINGS: BIOMEDICAL INFORMATICS: ONE DISCIPLINE, 2002, : 820 - 824
  • [6] Mapping XML documents to the object-relational form
    Ha, S
    Kim, K
    [J]. ISIE 2001: IEEE INTERNATIONAL SYMPOSIUM ON INDUSTRIAL ELECTRONICS PROCEEDINGS, VOLS I-III, 2001, : 1757 - 1761
  • [7] ENORM: An Essential Notation for Object-Relational Mapping
    Torres, Alexandre
    Galante, Renata
    Pimenta, Marcelo
    [J]. SIGMOD RECORD, 2014, 43 (02) : 23 - 28
  • [8] A COMPARATIVE STUDY OF OBJECT-ORIENTED DATABASE, RELATIONAL DATABASE AND FRAMEWORK FOR MAPPING OBJECT-RELATIONAL, IN THE CONTEXT TO A WEB APPLICATION
    Oliveira, M. M. A.
    Carlos, D. G.
    Sousa, A. R. V. O.
    Castro, A. F.
    [J]. HOLOS, 2015, 31 (01) : 182 - 198
  • [9] Object-relational Mapping Using JPA, Hibernate and Spring Data JPA
    Tudose, Catalin
    Odubasteanu, Carmen
    [J]. Proceedings - 2021 23rd International Conference on Control Systems and Computer Science Technologies, CSCS 2021, 2021, : 424 - 431
  • [10] Construction of information systems based on the object-relational data model
    Malakhov, B.V.
    [J]. Avtomatizatsiya i Sovremennye Tekhnologii, 2002, (04): : 12 - 18