SLGPT: Using Transfer Learning to Directly Generate Simulink Model Files and Find Bugs in the Simulink Toolchain

SLGPT: Using Transfer Learning to Directly Generate Simulink Model Files and Find Bugs in the Simulink Toolchain
复制标题

DOI:
10.1145/3463274.3463806
复制
发表时间:
2021-05
期刊:
Proceedings of the 25th International Conference on Evaluation and Assessment in Software Engineering
影响因子:
--
通讯作者:
S. L. Shrestha;Christoph Csallner
S. L. Shrestha;Christoph Csallner
中科院分区:
其他
文献类型:
--
作者:
S. L. Shrestha;Christoph Csallner

文献摘要

被引文献

相似文献

在商业网络物理系统(CPS)开发工具(如Simulink)中查找错误是很困难的,因为其代码库包含数百万行代码,并且没有完整的正式语言规范。虽然深度学习技术有望从样本模型中学习此类语言规范,但深度学习需要大量的训练数据才能良好工作。SLGPT通过使用迁移学习来利用强大的生成预训练Transformer 2(GPT-2)模型来解决这个问题,该模型已经在大量训练数据集上进行了预训练。SLGPT通过随机生成的模型和从开源存储库挖掘的模型将GPT-2适配到Simulink。SLGPT制作的Simulink模型比其最接近的竞争对手DeepFuzzSL更类似于开源模型,并发现了DeepFuzzSL发现的Simulink开发工具链错误的超集。
Finding bugs in a commercial cyber-physical system (CPS) development tool such as Simulink is hard as its codebase contains millions of lines of code and complete formal language specifications are not available. While deep learning techniques promise to learn such language specifications from sample models, deep learning needs a large number of training data to work well. SLGPT addresses this problem by using transfer learning to leverage the powerful Generative Pre-trained Transformer 2 (GPT-2) model, which has been pre-trained on a large set of training data. SLGPT adapts GPT-2 to Simulink with both randomly generated models and models mined from open-source repositories. SLGPT produced Simulink models that are both more similar to open-source models than its closest competitor, DeepFuzzSL, and found a super-set of the Simulink development toolchain bugs found by DeepFuzzSL.