科技报告详细信息
Experience Report for WOPR
Pope, G
关键词: ALGORITHMS;    AUTOMATION;    COMPLIANCE;    DEFECTS;    FORECASTING;    FORTRAN;    FUNCTIONALS;    LAWRENCE LIVERMORE NATIONAL LABORATORY;    PERFORMANCE;    PHYSICS;    RELIABILITY;    SIMULATION;    TESTING;   
DOI  :  10.2172/978399
RP-ID  :  LLNL-TR-427516
PID  :  OSTI ID: 978399
Others  :  TRN: US201010%%482
学科分类:社会科学、人文和艺术(综合)
美国|英语
来源: SciTech Connect
PDF
【 摘 要 】

One of the purposes of the SQA effort at LLNL is to attempt to determine the 'goodness' of the research codes used for various scientific applications. Typically these are two and three dimensional multi-physics simulation and modeling codes. These legacy research codes are used for applciations such as atmospheric dispersion modeling and analysis and prediction of the performance of engineered systems. These codes are continually subjected to automated regression test suites consisting of verified and validated expected results. Code is managed in repositories. Experience level of developers is high in the knowledge domain, platforms, and languages used. Code size of the multi-physics code used in this study was 578,242 lines excluding comment and blank lines or 5538.7 function points. Languages were 70% C++, 20% C, and 10% Fortran. The code has 130 users and a development team of 14 and an embedded SQE. The code has achieved 100% prime feature test coverage, 73.6% functional test coverage, and 71.5% statement test coverage. The average cyclomatic complexity of the code was 6.25. The codes have evolved over 10 years. Research codes are challenging because there is a desire to balance agility with discipline as well as compliance with DOE standards. Agility is important to allow experimentation with new algorithms and addition of the latest physics features. Discipline is important to increase the quality of the codes. Automation of processes and defect prevention/detection are deployed throughout the software development process. Since resarch codes are a small segment of the software industry, not much information exists in terms of reliability studies on these types of codes. This paper describes attempts to determine the goodness of these research codes. Goodness defined as both correctness of the codes and their fault densities. Correctness is determined by user interviews, peer review; feature based automated testing, and coverage measurement. This paper focuses on the fault density aspect of goodness and reliability of the codes in particular. The approach taken was to use multiple fault density prediction methods and compare results to actual experimentation and other industry studies on fault density. As a result of the predictions and experiments our confidence in the prediction methods was increased and our confidence in the goodness of the code from a fault density perspective was given more context. A large unintended benefit of these experiments was to find defects hidden for years in the codes when using the Monte Carlo reliability testing results to develop heuristic based bug driven tests.

【 预 览 】
附件列表
Files Size Format View
RO201704240002528LZ 1466KB PDF download
  文献评价指标  
  下载次数:11次 浏览次数:52次