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 条
  • [21] Automatic code generation and Arduino
    Craig, Kevin C.
    EDN, 2012, 57 (18) : 26 - 26
  • [22] Towards Automatic Code Generation for UAV Mission Planning using Decision Sensors
    Martins, Ricardo F.
    de Almeida, Gian L. N.
    Leal, Andre B.
    2017 INTERNATIONAL CONFERENCE ON UNMANNED AIRCRAFT SYSTEMS (ICUAS'17), 2017, : 682 - 689
  • [23] Automatic generation of numerical code
    Korelc, J
    CHALLENGING THE BOUNDARIES OF SYMBOLIC COMPUTATION, 2003, : 9 - 16
  • [24] The Metric for Automatic Code Generation
    Li, Zhen
    Jiang, Ying
    Zhang, Xiao Jiang
    Xu, Hai Yan
    PROCEEDINGS OF THE 3RD INTERNATIONAL CONFERENCE ON MECHATRONICS AND INTELLIGENT ROBOTICS (ICMIR-2019), 2020, 166 : 279 - 286
  • [25] CODE GENERATION IN AUTOMATIC PARALLELIZERS
    COLLARD, JF
    APPLICATIONS IN PARALLEL AND DISTRIBUTED COMPUTING, 1994, 44 : 185 - 194
  • [26] A Large Scale Study On the Effectiveness of Manual and Automatic Unit Test Generation
    Souza, Beatriz
    Machado, Patricia
    34TH BRAZILIAN SYMPOSIUM ON SOFTWARE ENGINEERING, SBES 2020, 2020, : 253 - 262
  • [27] Enhanced Genetic Algorithm for Automatic Generation of Unit and Integration Test Suite
    Bui Thi Mai Anh
    2020 RIVF INTERNATIONAL CONFERENCE ON COMPUTING & COMMUNICATION TECHNOLOGIES (RIVF 2020), 2020, : 298 - 303
  • [28] Automatic Generation of I/O Kernels for HPC Applications
    Behzad, Babak
    Hoang-Vu Dang
    Hariri, Farah
    Zhang, Weizhe
    Snir, Marc
    2014 9TH PARALLEL DATA STORAGE WORKSHOP (PDSW), 2014, : 31 - 36
  • [29] Automatic control-code generation from simulation for flexible material handling systems
    Chamis, CD
    Ameduri, SA
    Newman, WS
    1997 IEEE INTERNATIONAL CONFERENCE ON ROBOTICS AND AUTOMATION - PROCEEDINGS, VOLS 1-4, 1997, : 2139 - 2144
  • [30] Automatic test generation method for functional coverage improvement by code coverage analysis
    Fu, Liang
    Lu, Ding
    Zhang, Zhimin
    Sun, Yuan
    Jisuanji Fuzhu Sheji Yu Tuxingxue Xuebao/Journal of Computer-Aided Design and Computer Graphics, 2009, 21 (04): : 454 - 460