Performance Fuzzing with Reinforcement-Learning and Well-Defined Constraints for the B Method

被引:0
作者
Dunkelau, Jannik [1 ]
Leuschel, Michael [1 ]
机构
[1] Heinrich Heine Univ Dusseldorf, Inst Informat, Univ Str 1, D-40225 Dusseldorf, Germany
来源
INTEGRATED FORMAL METHODS, IFM 2023 | 2024年 / 14300卷
关键词
B method; ProB; Constraint solving; Performance Fuzzing; Reinforcement Learning; Multi-armed bandits;
D O I
10.1007/978-3-031-47705-8_13
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
The B method is a formal method supported by a variety of tools. Those tools, like any complex piece of software, may suffer from performance issues and vulnerabilities, especially for potentially undiscovered, pathological cases. To find such cases and assess their performance impacts within a single tool, we leverage the performance fuzzing algorithm BanditFuzz for the constraint solving backends of the PROB model checker. BanditFuzz utilises two multi-armed bandits to generate and mutate benchmark inputs for the PROB backends in a targeted manner. We describe how we adapted BanditFuzz for the B method, which differences exist to the original implementation for the SMT-LIB standard, and how we ensure well-definedness of the randomly generated benchmarks. Our experiments successfully uncovered performance issues in specific backends and even external tooling, providing valuable insights into areas which required improvement.
引用
收藏
页码:237 / 256
页数:20
相关论文
共 42 条
[1]  
Abrial J.-R., 2002, ZB 2002: Formal Specification and Development in Z and B. 2nd International Conference of B and Z Users. Proceedings (Lecture Notes in Computer Science Vol.2272), P242
[2]  
Abrial Jean-Raymond, 2010, Modeling in Event-BSystem and Software Engineering, DOI DOI 10.1017/CBO9781139195881
[3]  
Abrial JR., 1996, B BOOK ASSIGNING PRO, DOI DOI 10.1017/CBO9780511624162
[4]  
Agrawal Shipra., 2012, J MACHINE LEARNING R, V23, P1
[5]  
Back Ralph-Johan., 1998, Graduate Texts in Computer Science, DOI DOI 10.1007/978-1-4612-1674-2
[6]   ON CORRECT REFINEMENT OF PROGRAMS [J].
BACK, RJR .
JOURNAL OF COMPUTER AND SYSTEM SCIENCES, 1981, 23 (01) :49-68
[7]   cvc5: A Versatile and Industrial-Strength SMT Solver [J].
Barbosa, Haniel ;
Barrett, Clark ;
Brain, Martin ;
Kremer, Gereon ;
Lachnitt, Hanna ;
Mann, Makai ;
Mohamed, Abdalrhman ;
Mohamed, Mudathir ;
Niemetz, Aina ;
Notzli, Andres ;
Ozdemir, Alex ;
Preiner, Mathias ;
Reynolds, Andrew ;
Sheng, Ying ;
Tinelli, Cesare ;
Zohar, Yoni .
TOOLS AND ALGORITHMS FOR THE CONSTRUCTION AND ANALYSIS OF SYSTEMS, TACAS 2022, PT I, 2022, 13243 :415-442
[8]  
Barrett Clark., 2010, The SMT-LIB Standard: Version 2.0
[9]   The First Twenty-Five Years of Industrial Use of the B-Method [J].
Butler, Michael ;
Korner, Philipp ;
Krings, Sebastian ;
Lecomte, Thierry ;
Leuschel, Michael ;
Mejia, Luis-Fernando ;
Voisin, Laurent .
FORMAL METHODS FOR INDUSTRIAL CRITICAL SYSTEMS, FMICS 2020, 2020, 12327 :189-209
[10]  
Carlsson M., 1997, Programming Languages: Implementations, Logics, and Programs. 9th International Symposium, PLILP'97, Including a Special Track on Declarative Programming Languages in Education. Proceedings, P191, DOI 10.1007/BFb0033845