Combining Genetic Programming and Model Checking to Generate Environment Assumptions

被引:3
作者
Gaaloul, Khouloud [1 ]
Menghi, Claudio [1 ]
Nejati, Shiva [1 ,2 ]
Briand, Lionel C. [1 ,2 ]
Parache, Yago Isasi [3 ]
机构
[1] Univ Luxembourg, L-4365 Esch Sur Alzette, Luxembourg
[2] Univ Ottawa, Ottawa, ON K1N 6N5, Canada
[3] LuxSpace, L-6832 Betzdorf, Luxembourg
基金
加拿大自然科学与工程研究理事会; 欧洲研究理事会;
关键词
Software packages; Satellites; Mathematical model; Computational modeling; Model checking; Numerical models; Attitude control; Environment assumptions; model checking; machine learning; decision trees; genetic programming; search-based software testing; GUARANTEE; ASSUME; VERIFICATION; DESIGN; SYSTEM;
D O I
10.1109/TSE.2021.3101818
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Software verification may yield spurious failures when environment assumptions are not accounted for. Environment assumptions are the expectations that a system or a component makes about its operational environment and are often specified in terms of conditions over the inputs of that system or component. In this article, we propose an approach to automatically infer environment assumptions for Cyber-Physical Systems (CPS). Our approach improves the state-of-the-art in three different ways: First, we learn assumptions for complex CPS models involving signal and numeric variables; second, the learned assumptions include arithmetic expressions defined over multiple variables; third, we identify the trade-off between soundness and coverage of environment assumptions and demonstrate the flexibility of our approach in prioritizing either of these criteria. We evaluate our approach using a public domain benchmark of CPS models from Lockheed Martin and a component of a satellite control system from LuxSpace, a satellite system provider. The results show that our approach outperforms state-of-the-art techniques on learning assumptions for CPS models, and further, when applied to our industrial CPS model, our approach is able to learn assumptions that are sufficiently close to the assumptions manually developed by engineers to be of practical value.
引用
收藏
页码:3664 / 3685
页数:22
相关论文
共 108 条
  • [51] Flanagan C., 2001, FME 2001: Formal Methods for Increasing Software Productivity. International Symposium on Formal Methods Europe. Proceedings (Lecture Notes in Computer Science Vol.2021), P500
  • [52] Frehse G., 2011, PROC INT C COMPUT AI, P379, DOI DOI 10.1007/978-3-642-22110-1
  • [53] Mining Assumptions for Software Components using Machine Learning
    Gaaloul, Khouloud
    Menghi, Claudio
    Nejati, Shiva
    Briand, Lionel C.
    Wolfe, David
    [J]. PROCEEDINGS OF THE 28TH ACM JOINT MEETING ON EUROPEAN SOFTWARE ENGINEERING CONFERENCE AND SYMPOSIUM ON THE FOUNDATIONS OF SOFTWARE ENGINEERING (ESEC/FSE '20), 2020, : 159 - 171
  • [54] Learning Invariants using Decision Trees and Implication Counterexamples
    Garg, Pranav
    Neider, Daniel
    Madhusudan, P.
    Roth, Dan
    [J]. ACM SIGPLAN NOTICES, 2016, 51 (01) : 499 - 512
  • [55] Garg P, 2014, LECT NOTES COMPUT SC, V8559, P69, DOI 10.1007/978-3-319-08867-9_5
  • [56] Assume-guarantee verification of source code with design-level assumptions
    Giannakopoulou, D
    Pasareanu, CS
    Cobleigh, JM
    [J]. ICSE 2004: 26TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING, PROCEEDINGS, 2004, : 211 - 220
  • [57] Assumption generation for software component verification
    Giannakopoulou, D
    Pasareanu, CS
    Barringer, H
    [J]. ASE 2002: 17TH IEEE INTERNATIONAL CONFERENCE ON AUTOMATED SOFTWARE ENGINEERING, 2002, : 3 - 12
  • [58] Assume-guarantee testing for software components
    Giannakopoulou, D.
    Pasareanu, C. S.
    Blundell, C.
    [J]. IET SOFTWARE, 2008, 2 (06) : 547 - 562
  • [59] Generation of Formal Requirements from Structured Natural Language
    Giannakopoulou, Dimitra
    Pressburger, Thomas
    Mavridou, Anastasia
    Schumann, Johann
    [J]. REQUIREMENTS ENGINEERING: FOUNDATION FOR SOFTWARE QUALITY (REFSQ 2020), 2020, 12045 : 19 - 35
  • [60] Giannakopoulou Dimitra., 2014, Proceedings of the International Conference on Automated Software Engineering (ASE), P373