首页> 外文会议>IEEE International Symposium on Software Reliability Engineering >Benefits and Challenges of Model-Based Software Engineering: Lessons Learned Based on Qualitative and Quantitative Findings
【24h】

Benefits and Challenges of Model-Based Software Engineering: Lessons Learned Based on Qualitative and Quantitative Findings

机译:基于模型的软件工程的优势和挑战:基于定性和定量发现的经验教训

获取原文

摘要

Even though Model-based Software Engineering (MBSwE) techniques and Autogenerated Code (AGC) have been increasingly used to produce complex software systems, there is only anecdotal knowledge about the state-of-the practice. Furthermore, there is a lack of empirical studies that explore the potential quality improvements due to the use of these techniques. This paper presents in-depth qualitative findings about development and Software Assurance (SWA) practices and detailed quantitative analysis of software bug reports of a NASA mission that used MBSwE and AGC. The mission's flight software is a combination of handwritten code and AGC developed by two different approaches: one based on state chart models (AGC-M) and another on specification dictionaries (AGC-D). The empirical analysis of fault proneness is based on 380 closed bug reports created by software developers. Our main findings include: (1) MBSwE and AGC provide some benefits, but also impose challenges. (2) SWA done only at a model level is not sufficient. AGC code should also be tested and the models and AGC should always be kept in-sync. AGC must not be changed manually. (3) Fixes made to address an individual bug report were spread both across multiple modules and across multiple files. On average, for each bug report 1.4 modules, that is, 3.4 files were fixed. (4) Most bug reports led to changes in more than one type of file. The majority of changes to auto-generated source code files were made in conjunction to changes in either file with state chart models or XML files derived from dictionaries. (5) For newly developed files, AGC-M and handwritten code were of similar quality, while AGC-D files were the least fault prone.
机译:尽管越来越多地使用基于模型的软件工程(MBSwE)技术和自动生成的代码(AGC)来生产复杂的软件系统,但是关于实践的知识还很少。此外,由于使用这些技术,缺乏实证研究来探索潜在的质量改进。本文介绍了有关开发和软件保障(SWA)实践的深入定性研究结果,以及对使用MBSwE和AGC的NASA任务的软件错误报告进行的详细定量分析。特派团的飞行软件是通过两种不同方法开发的手写代码和AGC的组合:一种基于状态图模型(AGC-M),另一种基于规范词典(AGC-D)。对故障倾向性的经验分析是基于软件开发人员创建的380个封闭的bug报告。我们的主要发现包括:(1)MBSwE和AGC提供了一些好处,但也带来了挑战。 (2)仅在模型级别完成SWA是不够的。还应测试AGC代码,并且模型和AGC应始终保持同步。不得手动更改AGC。 (3)为解决单个错误报告而进行的修复既散布在多个模块中,又散布在多个文件中。平均来说,对于每个错误报告,有1.4个模块,即3.4个文件是固定的。 (4)大多数错误报告导致对一种以上类型的文件进行了更改。对自动生成的源代码文件的大多数更改是与具有状态图模型的文件或从字典派生的XML文件一起进行的。 (5)对于新开发的文件,AGC-M和手写代码具有相似的质量,而AGC-D文件则最不容易出错。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号