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...
Gespeichert in:
Veröffentlicht in: | IEEE access 2020, Vol.8, p.91488-91500 |
---|---|
Hauptverfasser: | , , , |
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<img src="https://exlibris-pub.s3.amazonaws.com/fromwos-v2.jpg" /></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 & Electronic ; hybrid testing techniques ; MPI ; MPI testing tool ; parallel programming ; Programming ; Runtime ; Science & 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 & 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 & 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 & 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 & 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 |