ACCTEST: Hybrid Testing Techniques for MPI-Based Programs

Recently, MPI has become widely used in many scientific applications, including different non-computer science fields, for parallelizing their applications. An MPI programming model is used for supporting parallelism in several programming languages, including C, C++, and Fortran. MPI also supports...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Veröffentlicht in:IEEE access 2020, Vol.8, p.91488-91500
Hauptverfasser: Alghamdi, Abdullah S. Almalaise, Alghamdi, Ahmed Mohammed, Eassa, Fathy Elbouraey, Khemakhem, Maher Ali
Format: Artikel
Sprache:eng
Schlagworte:
Online-Zugang:Volltext
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
container_end_page 91500
container_issue
container_start_page 91488
container_title IEEE access
container_volume 8
creator Alghamdi, Abdullah S. Almalaise
Alghamdi, Ahmed Mohammed
Eassa, Fathy Elbouraey
Khemakhem, Maher Ali
description Recently, MPI has become widely used in many scientific applications, including different non-computer science fields, for parallelizing their applications. An MPI programming model is used for supporting parallelism in several programming languages, including C, C++, and Fortran. MPI also supports integration with some programming models and has several implementations from different vendors, including open-source and commercial implementations. However, testing parallel programs is a difficult task, especially when using programming models with different behaviours and types of error based on the programming model type. In addition, the increased use of these programming models by non-computer science specialists can cause several errors due to lack of experience in programming, which needs to be considered when using any testing tools. We noticed that dynamic testing techniques have been used for testing the majority of MPI programs. The dynamic testing techniques detect errors by analyzing the source code during runtime, which will cause overheads, and this will affect the program's performance, especially when targeting massive parallel applications generating thousands or millions of threads. In this paper, we enhance ACC_TEST to have the ability to test MPI-based programs and detect runtime errors occurring with different types of MPI communications. We decided to use hybrid-testing techniques by combining both static and dynamic testing techniques to gain the benefit of each and reduce the cost.
doi_str_mv 10.1109/ACCESS.2020.2994172
format Article
fullrecord <record><control><sourceid>webofscience_ieee_</sourceid><recordid>TN_cdi_ieee_primary_9091527</recordid><sourceformat>XML</sourceformat><sourcesystem>PC</sourcesystem><ieee_id>9091527</ieee_id><sourcerecordid>000538735000014</sourcerecordid><originalsourceid>FETCH-LOGICAL-i105t-84c091f0ce6b29099ebc00efdb7e843fce0c8eb8d7e1727f84c853a43085e2fb3</originalsourceid><addsrcrecordid>eNqNj1FLwzAUhYMoOOZ-wV76Lq03SbMkvs1S3WDiYPV5NOnNjLhWmw7ZvzcyQR-9L-dy-c7lHEKmFDJKQd_Mi6LcbDIGDDKmdU4lOyMjRmc65YLPzv_sl2QSwivEUfEk5Ijo6K7KTXWbLI6m901SYRh8u4tqX1r_ccCQuK5PHtfL9K4O2CTrvtv19T5ckQtXvwWc_OiYPN-XVbFIV08Py2K-Sj0FMaQqt6CpA4szwzRojcYCoGuMRJVzZxGsQqMaiTG4dJFXgtc5ByWQOcPHRJ3-fqLpXLAeW4vb997v6_64jVUEV5KL71I0L_xQD75ri-7QDtF6_X9rpKcn2iP-UjEyFUzyL9NrZss</addsrcrecordid><sourcetype>Enrichment Source</sourcetype><iscdi>true</iscdi><recordtype>article</recordtype></control><display><type>article</type><title>ACCTEST: Hybrid Testing Techniques for MPI-Based Programs</title><source>IEEE Open Access Journals</source><source>DOAJ Directory of Open Access Journals</source><source>Elektronische Zeitschriftenbibliothek - Frei zugängliche E-Journals</source><source>Web of Science - Science Citation Index Expanded - 2020&lt;img src="https://exlibris-pub.s3.amazonaws.com/fromwos-v2.jpg" /&gt;</source><creator>Alghamdi, Abdullah S. Almalaise ; Alghamdi, Ahmed Mohammed ; Eassa, Fathy Elbouraey ; Khemakhem, Maher Ali</creator><creatorcontrib>Alghamdi, Abdullah S. Almalaise ; Alghamdi, Ahmed Mohammed ; Eassa, Fathy Elbouraey ; Khemakhem, Maher Ali</creatorcontrib><description>Recently, MPI has become widely used in many scientific applications, including different non-computer science fields, for parallelizing their applications. An MPI programming model is used for supporting parallelism in several programming languages, including C, C++, and Fortran. MPI also supports integration with some programming models and has several implementations from different vendors, including open-source and commercial implementations. However, testing parallel programs is a difficult task, especially when using programming models with different behaviours and types of error based on the programming model type. In addition, the increased use of these programming models by non-computer science specialists can cause several errors due to lack of experience in programming, which needs to be considered when using any testing tools. We noticed that dynamic testing techniques have been used for testing the majority of MPI programs. The dynamic testing techniques detect errors by analyzing the source code during runtime, which will cause overheads, and this will affect the program's performance, especially when targeting massive parallel applications generating thousands or millions of threads. In this paper, we enhance ACC_TEST to have the ability to test MPI-based programs and detect runtime errors occurring with different types of MPI communications. We decided to use hybrid-testing techniques by combining both static and dynamic testing techniques to gain the benefit of each and reduce the cost.</description><identifier>ISSN: 2169-3536</identifier><identifier>EISSN: 2169-3536</identifier><identifier>DOI: 10.1109/ACCESS.2020.2994172</identifier><identifier>CODEN: IAECCG</identifier><language>eng</language><publisher>PISCATAWAY: IEEE</publisher><subject>ACC_TEST ; Computer Science ; Computer Science, Information Systems ; Engineering ; Engineering, Electrical &amp; Electronic ; hybrid testing techniques ; MPI ; MPI testing tool ; parallel programming ; Programming ; Runtime ; Science &amp; Technology ; Static analysis ; System recovery ; Task analysis ; Technology ; Telecommunications ; Testing</subject><ispartof>IEEE access, 2020, Vol.8, p.91488-91500</ispartof><lds50>peer_reviewed</lds50><oa>free_for_read</oa><woscitedreferencessubscribed>true</woscitedreferencessubscribed><woscitedreferencescount>7</woscitedreferencescount><woscitedreferencesoriginalsourcerecordid>wos000538735000014</woscitedreferencesoriginalsourcerecordid><cites>FETCH-LOGICAL-i105t-84c091f0ce6b29099ebc00efdb7e843fce0c8eb8d7e1727f84c853a43085e2fb3</cites><orcidid>0000-0001-7644-5039 ; 0000-0002-1287-1634</orcidid></display><links><openurl>$$Topenurl_article</openurl><openurlfulltext>$$Topenurlfull_article</openurlfulltext><thumbnail>$$Tsyndetics_thumb_exl</thumbnail><linktohtml>$$Uhttps://ieeexplore.ieee.org/document/9091527$$EHTML$$P50$$Gieee$$Hfree_for_read</linktohtml><link.rule.ids>315,781,785,865,2115,4025,27638,27928,27929,27930,28253,54938</link.rule.ids></links><search><creatorcontrib>Alghamdi, Abdullah S. Almalaise</creatorcontrib><creatorcontrib>Alghamdi, Ahmed Mohammed</creatorcontrib><creatorcontrib>Eassa, Fathy Elbouraey</creatorcontrib><creatorcontrib>Khemakhem, Maher Ali</creatorcontrib><title>ACCTEST: Hybrid Testing Techniques for MPI-Based Programs</title><title>IEEE access</title><addtitle>Access</addtitle><addtitle>IEEE ACCESS</addtitle><description>Recently, MPI has become widely used in many scientific applications, including different non-computer science fields, for parallelizing their applications. An MPI programming model is used for supporting parallelism in several programming languages, including C, C++, and Fortran. MPI also supports integration with some programming models and has several implementations from different vendors, including open-source and commercial implementations. However, testing parallel programs is a difficult task, especially when using programming models with different behaviours and types of error based on the programming model type. In addition, the increased use of these programming models by non-computer science specialists can cause several errors due to lack of experience in programming, which needs to be considered when using any testing tools. We noticed that dynamic testing techniques have been used for testing the majority of MPI programs. The dynamic testing techniques detect errors by analyzing the source code during runtime, which will cause overheads, and this will affect the program's performance, especially when targeting massive parallel applications generating thousands or millions of threads. In this paper, we enhance ACC_TEST to have the ability to test MPI-based programs and detect runtime errors occurring with different types of MPI communications. We decided to use hybrid-testing techniques by combining both static and dynamic testing techniques to gain the benefit of each and reduce the cost.</description><subject>ACC_TEST</subject><subject>Computer Science</subject><subject>Computer Science, Information Systems</subject><subject>Engineering</subject><subject>Engineering, Electrical &amp; Electronic</subject><subject>hybrid testing techniques</subject><subject>MPI</subject><subject>MPI testing tool</subject><subject>parallel programming</subject><subject>Programming</subject><subject>Runtime</subject><subject>Science &amp; Technology</subject><subject>Static analysis</subject><subject>System recovery</subject><subject>Task analysis</subject><subject>Technology</subject><subject>Telecommunications</subject><subject>Testing</subject><issn>2169-3536</issn><issn>2169-3536</issn><fulltext>true</fulltext><rsrctype>article</rsrctype><creationdate>2020</creationdate><recordtype>article</recordtype><sourceid>ESBDL</sourceid><sourceid>RIE</sourceid><sourceid>AOWDO</sourceid><recordid>eNqNj1FLwzAUhYMoOOZ-wV76Lq03SbMkvs1S3WDiYPV5NOnNjLhWmw7ZvzcyQR-9L-dy-c7lHEKmFDJKQd_Mi6LcbDIGDDKmdU4lOyMjRmc65YLPzv_sl2QSwivEUfEk5Ijo6K7KTXWbLI6m901SYRh8u4tqX1r_ccCQuK5PHtfL9K4O2CTrvtv19T5ckQtXvwWc_OiYPN-XVbFIV08Py2K-Sj0FMaQqt6CpA4szwzRojcYCoGuMRJVzZxGsQqMaiTG4dJFXgtc5ByWQOcPHRJ3-fqLpXLAeW4vb997v6_64jVUEV5KL71I0L_xQD75ri-7QDtF6_X9rpKcn2iP-UjEyFUzyL9NrZss</recordid><startdate>2020</startdate><enddate>2020</enddate><creator>Alghamdi, Abdullah S. Almalaise</creator><creator>Alghamdi, Ahmed Mohammed</creator><creator>Eassa, Fathy Elbouraey</creator><creator>Khemakhem, Maher Ali</creator><general>IEEE</general><scope>97E</scope><scope>ESBDL</scope><scope>RIA</scope><scope>RIE</scope><scope>AOWDO</scope><scope>BLEPL</scope><scope>DTL</scope><orcidid>https://orcid.org/0000-0001-7644-5039</orcidid><orcidid>https://orcid.org/0000-0002-1287-1634</orcidid></search><sort><creationdate>2020</creationdate><title>ACCTEST: Hybrid Testing Techniques for MPI-Based Programs</title><author>Alghamdi, Abdullah S. Almalaise ; Alghamdi, Ahmed Mohammed ; Eassa, Fathy Elbouraey ; Khemakhem, Maher Ali</author></sort><facets><frbrtype>5</frbrtype><frbrgroupid>cdi_FETCH-LOGICAL-i105t-84c091f0ce6b29099ebc00efdb7e843fce0c8eb8d7e1727f84c853a43085e2fb3</frbrgroupid><rsrctype>articles</rsrctype><prefilter>articles</prefilter><language>eng</language><creationdate>2020</creationdate><topic>ACC_TEST</topic><topic>Computer Science</topic><topic>Computer Science, Information Systems</topic><topic>Engineering</topic><topic>Engineering, Electrical &amp; Electronic</topic><topic>hybrid testing techniques</topic><topic>MPI</topic><topic>MPI testing tool</topic><topic>parallel programming</topic><topic>Programming</topic><topic>Runtime</topic><topic>Science &amp; Technology</topic><topic>Static analysis</topic><topic>System recovery</topic><topic>Task analysis</topic><topic>Technology</topic><topic>Telecommunications</topic><topic>Testing</topic><toplevel>peer_reviewed</toplevel><toplevel>online_resources</toplevel><creatorcontrib>Alghamdi, Abdullah S. Almalaise</creatorcontrib><creatorcontrib>Alghamdi, Ahmed Mohammed</creatorcontrib><creatorcontrib>Eassa, Fathy Elbouraey</creatorcontrib><creatorcontrib>Khemakhem, Maher Ali</creatorcontrib><collection>IEEE All-Society Periodicals Package (ASPP) 2005-present</collection><collection>IEEE Open Access Journals</collection><collection>IEEE All-Society Periodicals Package (ASPP) 1998-Present</collection><collection>IEEE Electronic Library (IEL)</collection><collection>Web of Science - Science Citation Index Expanded - 2020</collection><collection>Web of Science Core Collection</collection><collection>Science Citation Index Expanded</collection><jtitle>IEEE access</jtitle></facets><delivery><delcategory>Remote Search Resource</delcategory><fulltext>fulltext</fulltext></delivery><addata><au>Alghamdi, Abdullah S. Almalaise</au><au>Alghamdi, Ahmed Mohammed</au><au>Eassa, Fathy Elbouraey</au><au>Khemakhem, Maher Ali</au><format>journal</format><genre>article</genre><ristype>JOUR</ristype><atitle>ACCTEST: Hybrid Testing Techniques for MPI-Based Programs</atitle><jtitle>IEEE access</jtitle><stitle>Access</stitle><stitle>IEEE ACCESS</stitle><date>2020</date><risdate>2020</risdate><volume>8</volume><spage>91488</spage><epage>91500</epage><pages>91488-91500</pages><issn>2169-3536</issn><eissn>2169-3536</eissn><coden>IAECCG</coden><abstract>Recently, MPI has become widely used in many scientific applications, including different non-computer science fields, for parallelizing their applications. An MPI programming model is used for supporting parallelism in several programming languages, including C, C++, and Fortran. MPI also supports integration with some programming models and has several implementations from different vendors, including open-source and commercial implementations. However, testing parallel programs is a difficult task, especially when using programming models with different behaviours and types of error based on the programming model type. In addition, the increased use of these programming models by non-computer science specialists can cause several errors due to lack of experience in programming, which needs to be considered when using any testing tools. We noticed that dynamic testing techniques have been used for testing the majority of MPI programs. The dynamic testing techniques detect errors by analyzing the source code during runtime, which will cause overheads, and this will affect the program's performance, especially when targeting massive parallel applications generating thousands or millions of threads. In this paper, we enhance ACC_TEST to have the ability to test MPI-based programs and detect runtime errors occurring with different types of MPI communications. We decided to use hybrid-testing techniques by combining both static and dynamic testing techniques to gain the benefit of each and reduce the cost.</abstract><cop>PISCATAWAY</cop><pub>IEEE</pub><doi>10.1109/ACCESS.2020.2994172</doi><tpages>13</tpages><orcidid>https://orcid.org/0000-0001-7644-5039</orcidid><orcidid>https://orcid.org/0000-0002-1287-1634</orcidid><oa>free_for_read</oa></addata></record>
fulltext fulltext
identifier ISSN: 2169-3536
ispartof IEEE access, 2020, Vol.8, p.91488-91500
issn 2169-3536
2169-3536
language eng
recordid cdi_ieee_primary_9091527
source IEEE Open Access Journals; DOAJ Directory of Open Access Journals; Elektronische Zeitschriftenbibliothek - Frei zugängliche E-Journals; Web of Science - Science Citation Index Expanded - 2020<img src="https://exlibris-pub.s3.amazonaws.com/fromwos-v2.jpg" />
subjects ACC_TEST
Computer Science
Computer Science, Information Systems
Engineering
Engineering, Electrical & Electronic
hybrid testing techniques
MPI
MPI testing tool
parallel programming
Programming
Runtime
Science & Technology
Static analysis
System recovery
Task analysis
Technology
Telecommunications
Testing
title ACCTEST: Hybrid Testing Techniques for MPI-Based Programs
url https://sfx.bib-bvb.de/sfx_tum?ctx_ver=Z39.88-2004&ctx_enc=info:ofi/enc:UTF-8&ctx_tim=2024-12-14T10%3A52%3A23IST&url_ver=Z39.88-2004&url_ctx_fmt=infofi/fmt:kev:mtx:ctx&rfr_id=info:sid/primo.exlibrisgroup.com:primo3-Article-webofscience_ieee_&rft_val_fmt=info:ofi/fmt:kev:mtx:journal&rft.genre=article&rft.atitle=ACCTEST:%20Hybrid%20Testing%20Techniques%20for%20MPI-Based%20Programs&rft.jtitle=IEEE%20access&rft.au=Alghamdi,%20Abdullah%20S.%20Almalaise&rft.date=2020&rft.volume=8&rft.spage=91488&rft.epage=91500&rft.pages=91488-91500&rft.issn=2169-3536&rft.eissn=2169-3536&rft.coden=IAECCG&rft_id=info:doi/10.1109/ACCESS.2020.2994172&rft_dat=%3Cwebofscience_ieee_%3E000538735000014%3C/webofscience_ieee_%3E%3Curl%3E%3C/url%3E&disable_directlink=true&sfx.directlink=off&sfx.report_link=0&rft_id=info:oai/&rft_id=info:pmid/&rft_ieee_id=9091527&rfr_iscdi=true