Towards Automatic and Flexible Unit Test Generation for Legacy HPC Code

被引:0
|
作者
Hovy, Christian [1 ]
Kunkel, Julian [2 ]
机构
[1] Univ Hamburg, Dept Informat, Hamburg, Germany
[2] Deutsch Klimarechenzentrum GmbH, Hamburg, Germany
关键词
D O I
10.1109/SE-HPCCSE.2016.6
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
Unit testing is an established practice in professional software development. However, in high-performance computing (HPC) with its scientific applications, it is not widely applied. Besides general problems regarding testing of scientific software, for many HPC applications the effort of creating small test cases with a consistent set of test data is high. We have created a tool called FortranTestGenerator, that significantly reduces the effort of creating unit tests for subroutines of an existing Fortran application. It is based on Capture & Replay (C&R), that is, it extracts data while running the original application and uses the extracted data as test input data. The tool automatically generates code for capturing the input data and a basic test driver which can be extended by the developer to an appropriate unit test. A static source code analysis is conducted, to reduce the number of captured variables. Code is generated based on flexibly customizable templates. Thus, both the capturing process and the unit tests can easily be integrated into an existing software ecosystem. Since most HPC applications use message passing for parallel processing, we also present an approach to extend our C&R model to MPI communication. This allows extraction of unit tests from massively parallel applications that can be run with a single process.
引用
收藏
页码:1 / 8
页数:8
相关论文
共 50 条
  • [41] Automatic code generation: A practical approach
    Papadopoulos, George A.
    PROCEEDINGS OF THE ITI 2008 30TH INTERNATIONAL CONFERENCE ON INFORMATION TECHNOLOGY INTERFACES, 2008, : 861 - 866
  • [42] Some thoughts on automatic code generation
    Glass, RL
    DATA BASE FOR ADVANCES IN INFORMATION SYSTEMS, 1996, 27 (02): : 16 - 18
  • [43] Automatic Selenium Code Generation for Testing
    Rathi, Nikhil
    Srivathsav, Rohith
    Chitlangia, Rishabh
    Pachghare, V. K.
    INTELLIGENT COMPUTING, INFORMATION AND CONTROL SYSTEMS, ICICCS 2019, 2020, 1039 : 194 - 200
  • [44] A Survey of Automatic Generation of Code Comments
    Zhao, Fengrong
    Zhao, Junqi
    Bai, Yang
    2020 THE 4TH INTERNATIONAL CONFERENCE ON MANAGEMENT ENGINEERING, SOFTWARE ENGINEERING AND SERVICE SCIENCES (ICMSS 2020), 2020, : 21 - 25
  • [45] AUTOMATIC GENERATION OF HUFFMAN COMPACT CODE
    PEARCE, E
    BATEMAN, BL
    TEXAS JOURNAL OF SCIENCE, 1972, 24 (03): : 367 - 367
  • [46] Automatic code generation for GPUs in llc
    Reyes, Ruyman
    de Sande, Francisco
    JOURNAL OF SUPERCOMPUTING, 2011, 58 (03): : 349 - 356
  • [47] Automatic source code generation for microcontrollers
    Rozehnal, Z
    PROGRAMMABLE DEVICES AND SYSTEMS, 2000, : 195 - 197
  • [48] Some thoughts on automatic code generation
    Glass, RL
    JOURNAL OF SYSTEMS AND SOFTWARE, 1997, 37 (01) : 1 - 3
  • [49] Automatic code generation for GPUs in llc
    Ruyman Reyes
    Francisco de Sande
    The Journal of Supercomputing, 2011, 58 : 349 - 356
  • [50] Automatic code generation for airborne systems
    Audsley, N
    Bate, I
    Crook-Dawkins, S
    2003 IEEE AEROSPACE CONFERENCE PROCEEDINGS, VOLS 1-8, 2003, : 2863 - 2873