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 条
  • [31] Behave Nicely! Automatic Generation of Code for Behaviour Driven Development Test Suites
    Bob, Ruxandra
    Storer, Tim
    2019 19TH IEEE INTERNATIONAL WORKING CONFERENCE ON SOURCE CODE ANALYSIS AND MANIPULATION (SCAM), 2019, : 228 - 237
  • [32] Flexible workload generation for HPC cluster efficiency benchmarking
    Molka, Daniel
    Hackenberg, Daniel
    Schoene, Robert
    Minartz, Timo
    Nagel, Wolfgang E.
    COMPUTER SCIENCE-RESEARCH AND DEVELOPMENT, 2012, 27 (04): : 235 - 243
  • [33] UnitTestBot: Automated Unit Test Generation for C Code in Integrated Development Environments
    Ivanov, Dmitry
    Babushkin, Alexey
    Grigoryev, Saveliy
    Iatchenii, Pavel
    Kalugin, Vladislav
    Kulikov, Egor
    Kulikov, Egor
    Misonizhnik, Aleksandr
    Mordvinov, Dmitry
    Morozov, Sergey
    Naumenko, Olga
    Pleshakov, Alexey
    Ponomarev, Pavel
    Shmidt, Svetlana
    Utkin, Alexey
    Volodin, Vadim
    Volynets, Arseniy
    2023 IEEE/ACM 45TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING: COMPANION PROCEEDINGS, ICSE-COMPANION, 2023, : 380 - 384
  • [34] Unit Test Code Generation Tool Support for Lower Level Programming Languages
    Bandara, Rasika
    Perera, Indika
    MERCON 2020: 6TH INTERNATIONAL MULTIDISCIPLINARY MORATUWA ENGINEERING RESEARCH CONFERENCE (MERCON), 2020, : 632 - 637
  • [35] Towards Automatic Digital Surface Model Generation using a Graphics Processing Unit
    van der Merwe, Dirk
    Meyer, Johan
    2009 AFRICON, VOLS 1 AND 2, 2009, : 783 - 788
  • [36] Towards Energy Optimization using Trajectory Smoothing and Automatic Code Generation for Robotic Assembly
    Gleeson, Daniel
    Bjorkenstam, Staffan
    Bohlin, Robert
    Carlson, Johan S.
    Lennartson, Bengt
    6TH CIRP CONFERENCE ON ASSEMBLY TECHNOLOGIES AND SYSTEMS (CATS), 2016, 44 : 341 - 346
  • [37] Towards an Ontological Model for Modelling and Automatic Code Generation of Complete Web Information Systems
    Strmecki, Daniel
    Magdalenic, Ivan
    CENTRAL EUROPEAN CONFERENCE ON INFORMATION AND INTELLIGENT SYSTEMS: PROCEEDINGS ARCHIVE 2017, 2017, : 265 - 271
  • [38] Automatic Unit Test Generation for Machine Learning Libraries: How Far Are We?
    Wang, Song
    Shrestha, Nishtha
    Subburaman, Abarna Kucheri
    Wang, Junjie
    Wei, Moshi
    Nagappan, Nachiappan
    2021 IEEE/ACM 43RD INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING (ICSE 2021), 2021, : 1548 - 1560
  • [39] Toward granular search-based automatic unit test case generation
    Pecorelli, Fabiano
    Grano, Giovanni
    Palomba, Fabio
    Gall, Harald C.
    De Lucia, Andrea
    EMPIRICAL SOFTWARE ENGINEERING, 2024, 29 (04)
  • [40] Automatic Test Data Generation for Unit Testing to Achieve MC/DC Criterion
    Wu, Tianyong
    Yan, Jun
    Zhang, Jian
    2014 EIGHTH INTERNATIONAL CONFERENCE ON SOFTWARE SECURITY AND RELIABILITY, 2014, : 118 - 126