ACC_TEST: Hybrid Testing Approach for OpenACC-Based Programs

In recent years, OpenACC has been used in many supercomputers and attracted many non-computer science specialists for parallelizing their programs in different scientific fields, including weather forecasting and simulations. OpenACC is a high-level programming model that supports parallelism and is...

Full description

Bibliographic Details
Main Authors: Fathy Elbouraey Eassa, Ahmed Mohammed Alghamdi, Seif Haridi, Maher Ali Khemakhem, Abdullah S. Al-Malaise Al-Ghamdi, Eesa A. Alsolami
Format: Article
Language:English
Published: IEEE 2020-01-01
Series:IEEE Access
Subjects:
Online Access:https://ieeexplore.ieee.org/document/9079851/
_version_ 1818578196540424192
author Fathy Elbouraey Eassa
Ahmed Mohammed Alghamdi
Seif Haridi
Maher Ali Khemakhem
Abdullah S. Al-Malaise Al-Ghamdi
Eesa A. Alsolami
author_facet Fathy Elbouraey Eassa
Ahmed Mohammed Alghamdi
Seif Haridi
Maher Ali Khemakhem
Abdullah S. Al-Malaise Al-Ghamdi
Eesa A. Alsolami
author_sort Fathy Elbouraey Eassa
collection DOAJ
description In recent years, OpenACC has been used in many supercomputers and attracted many non-computer science specialists for parallelizing their programs in different scientific fields, including weather forecasting and simulations. OpenACC is a high-level programming model that supports parallelism and is easy to learn to use by adding high-level directives without considering too many low-level details. Testing parallel programs is a difficult task, made even harder if using programming models, especially if they have been badly programmed. If so, it will be challenging to detect their runtime errors as well as their causes, whether the error is from the user source code or from the programming model directives. Even when these errors are detected and the source code modified, we cannot guarantee that the errors have been corrected or are still hidden. There are many tools and studies that have investigated several programming models for identifying and detecting related errors. However, OpenACC has not been targeted clearly in any testing tool or previous studies, even though OpenACC has many benefits and features that could lead to increasing use in achieving parallel systems with less effort. In this paper, we enhance ACC_TEST with the ability to test OpenACC-based programs and detect runtime errors by using hybrid-testing techniques that enhance error coverage occurring in OpenACC as well as overheads and testing time.
first_indexed 2024-12-16T06:41:58Z
format Article
id doaj.art-2414e48982a24545af3369a01d6e8d15
institution Directory Open Access Journal
issn 2169-3536
language English
last_indexed 2024-12-16T06:41:58Z
publishDate 2020-01-01
publisher IEEE
record_format Article
series IEEE Access
spelling doaj.art-2414e48982a24545af3369a01d6e8d152022-12-21T22:40:39ZengIEEEIEEE Access2169-35362020-01-018803588036810.1109/ACCESS.2020.29910099079851ACC_TEST: Hybrid Testing Approach for OpenACC-Based ProgramsFathy Elbouraey Eassa0https://orcid.org/0000-0003-3987-9051Ahmed Mohammed Alghamdi1https://orcid.org/0000-0001-7644-5039Seif Haridi2https://orcid.org/0000-0002-6718-0144Maher Ali Khemakhem3Abdullah S. Al-Malaise Al-Ghamdi4Eesa A. Alsolami5https://orcid.org/0000-0003-0132-6662Department of Computer Science, Faculty of Computing and Information Technology, King Abdulaziz University, Jeddah, Saudi ArabiaDepartment of Software Engineering, College of Computer Science and Engineering, University of Jeddah, Jeddah, Saudi ArabiaKTH Royal Institute of Technology, Stockholm, SwedenDepartment of Computer Science, Faculty of Computing and Information Technology, King Abdulaziz University, Jeddah, Saudi ArabiaDepartment of Information Systems, Faculty of Computing and Information Technology, King Abdulaziz University, Jeddah, Saudi ArabiaDepartment of Cybersecurity, College of Computer Science and Engineering, University of Jeddah, Jeddah, Saudi ArabiaIn recent years, OpenACC has been used in many supercomputers and attracted many non-computer science specialists for parallelizing their programs in different scientific fields, including weather forecasting and simulations. OpenACC is a high-level programming model that supports parallelism and is easy to learn to use by adding high-level directives without considering too many low-level details. Testing parallel programs is a difficult task, made even harder if using programming models, especially if they have been badly programmed. If so, it will be challenging to detect their runtime errors as well as their causes, whether the error is from the user source code or from the programming model directives. Even when these errors are detected and the source code modified, we cannot guarantee that the errors have been corrected or are still hidden. There are many tools and studies that have investigated several programming models for identifying and detecting related errors. However, OpenACC has not been targeted clearly in any testing tool or previous studies, even though OpenACC has many benefits and features that could lead to increasing use in achieving parallel systems with less effort. In this paper, we enhance ACC_TEST with the ability to test OpenACC-based programs and detect runtime errors by using hybrid-testing techniques that enhance error coverage occurring in OpenACC as well as overheads and testing time.https://ieeexplore.ieee.org/document/9079851/OpenACCOpenACC testing toolhybrid-testing techniquesparallel programmingACC_TEST
spellingShingle Fathy Elbouraey Eassa
Ahmed Mohammed Alghamdi
Seif Haridi
Maher Ali Khemakhem
Abdullah S. Al-Malaise Al-Ghamdi
Eesa A. Alsolami
ACC_TEST: Hybrid Testing Approach for OpenACC-Based Programs
IEEE Access
OpenACC
OpenACC testing tool
hybrid-testing techniques
parallel programming
ACC_TEST
title ACC_TEST: Hybrid Testing Approach for OpenACC-Based Programs
title_full ACC_TEST: Hybrid Testing Approach for OpenACC-Based Programs
title_fullStr ACC_TEST: Hybrid Testing Approach for OpenACC-Based Programs
title_full_unstemmed ACC_TEST: Hybrid Testing Approach for OpenACC-Based Programs
title_short ACC_TEST: Hybrid Testing Approach for OpenACC-Based Programs
title_sort acc x005f test hybrid testing approach for openacc based programs
topic OpenACC
OpenACC testing tool
hybrid-testing techniques
parallel programming
ACC_TEST
url https://ieeexplore.ieee.org/document/9079851/
work_keys_str_mv AT fathyelbouraeyeassa accx005ftesthybridtestingapproachforopenaccbasedprograms
AT ahmedmohammedalghamdi accx005ftesthybridtestingapproachforopenaccbasedprograms
AT seifharidi accx005ftesthybridtestingapproachforopenaccbasedprograms
AT maheralikhemakhem accx005ftesthybridtestingapproachforopenaccbasedprograms
AT abdullahsalmalaisealghamdi accx005ftesthybridtestingapproachforopenaccbasedprograms
AT eesaaalsolami accx005ftesthybridtestingapproachforopenaccbasedprograms