Static Analysis of Database Accesses in MongoDB Applications

被引:2
作者
Cherry, Boris [1 ]
Benats, Pol [1 ]
Gobert, Maxime [1 ]
Meurice, Loup [1 ]
Nagy, Csaba [2 ]
Cleve, Anthony [1 ]
机构
[1] Univ Namur, Namur Digital Inst, Namur, Belgium
[2] Univ Svizzera Italiana, Software Inst, Lugano, Switzerland
来源
2022 IEEE INTERNATIONAL CONFERENCE ON SOFTWARE ANALYSIS, EVOLUTION AND REENGINEERING (SANER 2022) | 2022年
基金
瑞士国家科学基金会;
关键词
Database Accesses; Static Analysis; NoSql; MongoDB; !text type='Java']Java[!/text]Script; Node[!text type='JS']JS[!/text;
D O I
10.1109/SANER53432.2022.00111
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
The increasing data volume and the variety of data formats of modern data-intensive systems unveiled the boundaries of traditional relational database management systems. NoSQL technologies aim to fulfill shortcomings through numerous features such as allowing unstructured, schema-less data storage. However, new features also pose challenges to software engineering techniques that used to work well for relational databases. In this paper, we present an approach to retrieve database accesses in JavaScript applications that use MongoDB. The approach handles JavaScript's highly dynamic and typeless nature through heuristics to avoid collision with third-party libraries. The aim is to identify the part of the source code involved in the database communication as the first step towards additional static analysis approaches. We evaluated the approach on an oracle of 307 open-source projects and reached a precision of 78%. We demonstrate potential use cases of the approach through case studies on the evolution of open-source systems.
引用
收藏
页码:930 / 934
页数:5
相关论文
共 22 条
[1]  
Abdelhedi F., 2021, 23 INT C ENTERPRISE
[2]  
Afonso A, 2020, PROCEEDINGS OF THE 2020 IEEE 27TH INTERNATIONAL CONFERENCE ON SOFTWARE ANALYSIS, EVOLUTION, AND REENGINEERING (SANER '20), P138, DOI [10.1109/saner48275.2020.9054796, 10.1109/SANER48275.2020.9054796]
[3]  
Alger K. W., BUILDING PATTERNS PO
[4]  
Andreasen E, 2014, ACM SIGPLAN NOTICES, V49, P17, DOI [10.1145/2660193.2660214, 10.1145/2714064.2660214]
[5]   Parametric schema inference for massive JSON']JSON datasets [J].
Baazizi, Mohamed-Amine ;
Colazzo, Dario ;
Ghelli, Giorgio ;
Sartiani, Carlo .
VLDB JOURNAL, 2019, 28 (04) :497-521
[6]   An Empirical Study of (Multi-) Database Models in Open-Source Projects [J].
Benats, Pol ;
Gobert, Maxime ;
Meurice, Loup ;
Nagy, Csaba ;
Cleve, Anthony .
CONCEPTUAL MODELING, ER 2021, 2021, 13011 :87-101
[7]   Model Driven Extraction of NoSQL Databases Schema: Case of MongoDB [J].
Brahim, Amal Ait ;
Ferhat, Rabah Tighilt ;
Zurfluh, Gilles .
KDIR: PROCEEDINGS OF THE 11TH INTERNATIONAL JOINT CONFERENCE ON KNOWLEDGE DISCOVERY, KNOWLEDGE ENGINEERING AND KNOWLEDGE MANAGEMENT - VOL 1: KDIR, 2019, :145-154
[8]  
Feldthaus A, 2013, PROCEEDINGS OF THE 35TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING (ICSE 2013), P752, DOI 10.1109/ICSE.2013.6606621
[9]   Schema profiling of document-oriented databases [J].
Gallinucci, Enrico ;
Golfarelli, Matteo ;
Rizzi, Stefano .
INFORMATION SYSTEMS, 2018, 75 :13-25
[10]   Automatic Schema Generation for Document-Oriented Systems [J].
Gomez, Paola ;
Casallas, Rubby ;
Roncancio, Claudia .
DATABASE AND EXPERT SYSTEMS APPLICATIONS, DEXA 2020, PT I, 2020, 12391 :152-163