BugOut: Automated Test Generation and Bug Detection for Low-Code

被引:0
作者
Coutinho, Joana [1 ]
Lemos, Alexandre [1 ]
Terra-Neves, Miguel [1 ]
Ribeiro, Andre [1 ,2 ]
Manquinho, Vasco [3 ]
Quintino, Rui [1 ]
Matejczyk, Bartlomiej [1 ]
机构
[1] OutSystems, Lisbon, Portugal
[2] Univ Lisbon, Inst Super Tecn, Lisbon, Portugal
[3] Univ Lisbon, Inst Super Tecn, INESC ID, Lisbon, Portugal
来源
2024 IEEE CONFERENCE ON SOFTWARE TESTING, VERIFICATION AND VALIDATION, ICST 2024 | 2024年
关键词
symbolic execution; satisfiablity module theory; test generation; bug detection; low-code; SYMBOLIC EXECUTION;
D O I
10.1109/ICST60714.2024.00041
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Low-code platforms enable rapid development of complex mission critical software applications. Nevertheless, these applications still must adhere to software principles. In particular, the developers need to create tests as part of their development cycle. However, this process involves significant effort from manual testing to manually coding tests. This process can be time-consuming and error-prone, especially for large and complex applications. In this paper, we propose using symbolic execution to generate tests for low-code applications. Symbolic execution is a technique that allows the exploration of all possible paths of a program, without requiring it to be executed with concrete values. Although symbolic execution has scalability issues due to path explosion, we mitigate the problem by exploring the properties of the low-code framework. We evaluate our approach using a set of real-world low-code applications and compare it to equivalent testing techniques for text-based programming languages. Our results show that symbolic execution can produce high quality results in a short amount of time when applied to visual programming languages. We believe that our approach has the potential to improve the quality and reliability of low-code applications while reducing the time and effort required for testing.
引用
收藏
页码:373 / 382
页数:10
相关论文
共 60 条
[1]   An Industrial Evaluation of Unit Test Generation: Finding Real Faults in a Financial Application [J].
Almasi, M. Moein ;
Hemmati, Hadi ;
Fraser, Gordon ;
Arcuri, Andrea ;
Benefelds, Janis .
2017 IEEE/ACM 39TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING: SOFTWARE ENGINEERING IN PRACTICE TRACK (ICSE-SEIP 2017), 2017, :263-272
[2]   A Survey of Symbolic Execution Techniques [J].
Baldoni, Roberto ;
Coppa, Emilio ;
D'Elia, Daniele Cono ;
Demetrescu, Camil ;
Finocchi, Irene .
ACM COMPUTING SURVEYS, 2018, 51 (03) :1-39
[3]  
Barrett C, 2021, FRONT ARTIF INTEL AP, P1267, DOI 10.3233/FAIA201017
[4]   When, How, and Why Developers (Do Not) Test in Their IDEs [J].
Beller, Moritz ;
Gousios, Georgios ;
Panichella, Annibale ;
Zaidman, Andy .
2015 10TH JOINT MEETING OF THE EUROPEAN SOFTWARE ENGINEERING CONFERENCE AND THE ACM SIGSOFT SYMPOSIUM ON THE FOUNDATIONS OF SOFTWARE ENGINEERING (ESEC/FSE 2015) PROCEEDINGS, 2015, :179-190
[5]  
Bloem R, 2009, LECT NOTES COMPUT SC, V5643, P140, DOI 10.1007/978-3-642-02658-4_14
[6]  
Bucur S, 2011, EUROSYS 11: PROCEEDINGS OF THE EUROSYS 2011 CONFERENCE, P183
[7]  
Cabeda M, 2018, 2018 IEEE SYMPOSIUM ON VISUAL LANGUAGES AND HUMAN-CENTRIC COMPUTING (VL/HCC), P289, DOI 10.1109/VLHCC.2018.8506582
[8]  
Cadar C., 2008, P OSDI SAN DIEG CA U, VVolume 8, P209
[9]   KLEE symbolic execution engine in 2019 [J].
Cadar, Cristian ;
Nowack, Martin .
INTERNATIONAL JOURNAL ON SOFTWARE TOOLS FOR TECHNOLOGY TRANSFER, 2021, 23 (06) :867-870
[10]   Symbolic Execution for Software Testing: Three Decades Later [J].
Cadar, Cristian ;
Sen, Koushik .
COMMUNICATIONS OF THE ACM, 2013, 56 (02) :82-90