A structural testing tool for MPI programs with loops

Sílvia M. D. Diaz, P. L. D. Souza, S. Souza
{"title":"A structural testing tool for MPI programs with loops","authors":"Sílvia M. D. Diaz, P. L. D. Souza, S. Souza","doi":"10.5753/wscad.2019.8686","DOIUrl":null,"url":null,"abstract":"Há uma alta demanda por programas paralelos corretos, principalmente devido às arquiteturas paralelas atuais, como clusters e processadores multi/many cores. O teste estrutural permite identificar defeitos pela cobertura de estruturas internas de programas paralelos. O não determinismo em programas paralelos traz novos desafios ao teste estrutural. Ele requer ferramentas e modelos de teste especı́ficos, capazes de cobrir primitivas de comunicação e sincronização com comportamentos dinâmicos, tais como os presentes em loops. Este artigo propõe uma nova ferramenta de software para o teste estrutural, com o objetivo de auxiliar testadores na revelação de defeitos desconhecidos associados a comunicação e presentes em estruturas de repetição de programas paralelos em C/MPI. Baseando-se na cobertura obtida, testadores podem escolher casos de teste especı́ficos e avaliar o progresso da atividade de teste. A ferramenta de teste proposta é validada com a ingestão de defeitos no código de um programa, e com a análise do suporte dado pela ferramenta para a geração de elementos requeridos e seleção de casos de teste. A ferramenta proposta automatiza parte da atividade de teste, especificamente a geração de elementos requeridos e guia a execução dos testes, reduzindo o tempo para a aplicação da atividade de teste. Nossos resultados mostram que a ferramenta de teste é capaz de revelar defeitos desconhecidos em primitivas de comunicação presentes em iterações de loops. There is a growing demand for correct parallel programs, mainly due to nowadays parallel architectures, such as clusters and multi/many-core processors. Structural testing allows the identification of defects by covering internal structures of parallel programs. Nondeterminism in parallel programs brings new challenges to the structural testing. It requires specific test model and tools, capable to cover communication and synchronization primitives with dynamic behaviors, such as those present inside of loops. This paper proposes a novel software tool for the structural testing, aiming to help testers in revealing defects associated to communication present in repetition structures of C/MPI parallel programs. Based on the obtained coverage, testers can choose specific test cases and evaluate the progress of the testing activity. We validate the proposed testing software tool by injecting a defect in a program code, and analyzing the support for generation of required elements and selection of test cases. ValiMPI tool automates part of the test activity, specifically the generation of required elements to guide test case selection, reducing the application cost of the testing activity. Our results demonstrate that the testing tool is capable to reveal unknown defects from communication in different loop iterations.","PeriodicalId":117711,"journal":{"name":"Anais do Simpósio em Sistemas Computacionais de Alto Desempenho (WSCAD)","volume":"27 3 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2019-11-08","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"4","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Anais do Simpósio em Sistemas Computacionais de Alto Desempenho (WSCAD)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.5753/wscad.2019.8686","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 4

Abstract

Há uma alta demanda por programas paralelos corretos, principalmente devido às arquiteturas paralelas atuais, como clusters e processadores multi/many cores. O teste estrutural permite identificar defeitos pela cobertura de estruturas internas de programas paralelos. O não determinismo em programas paralelos traz novos desafios ao teste estrutural. Ele requer ferramentas e modelos de teste especı́ficos, capazes de cobrir primitivas de comunicação e sincronização com comportamentos dinâmicos, tais como os presentes em loops. Este artigo propõe uma nova ferramenta de software para o teste estrutural, com o objetivo de auxiliar testadores na revelação de defeitos desconhecidos associados a comunicação e presentes em estruturas de repetição de programas paralelos em C/MPI. Baseando-se na cobertura obtida, testadores podem escolher casos de teste especı́ficos e avaliar o progresso da atividade de teste. A ferramenta de teste proposta é validada com a ingestão de defeitos no código de um programa, e com a análise do suporte dado pela ferramenta para a geração de elementos requeridos e seleção de casos de teste. A ferramenta proposta automatiza parte da atividade de teste, especificamente a geração de elementos requeridos e guia a execução dos testes, reduzindo o tempo para a aplicação da atividade de teste. Nossos resultados mostram que a ferramenta de teste é capaz de revelar defeitos desconhecidos em primitivas de comunicação presentes em iterações de loops. There is a growing demand for correct parallel programs, mainly due to nowadays parallel architectures, such as clusters and multi/many-core processors. Structural testing allows the identification of defects by covering internal structures of parallel programs. Nondeterminism in parallel programs brings new challenges to the structural testing. It requires specific test model and tools, capable to cover communication and synchronization primitives with dynamic behaviors, such as those present inside of loops. This paper proposes a novel software tool for the structural testing, aiming to help testers in revealing defects associated to communication present in repetition structures of C/MPI parallel programs. Based on the obtained coverage, testers can choose specific test cases and evaluate the progress of the testing activity. We validate the proposed testing software tool by injecting a defect in a program code, and analyzing the support for generation of required elements and selection of test cases. ValiMPI tool automates part of the test activity, specifically the generation of required elements to guide test case selection, reducing the application cost of the testing activity. Our results demonstrate that the testing tool is capable to reveal unknown defects from communication in different loop iterations.
查看原文
分享 分享
微信好友 朋友圈 QQ好友 复制链接
本刊更多论文
具有循环的MPI程序的结构测试工具
对正确的并行程序有很高的需求,这主要是由于当前的并行体系结构,如集群和多核处理器。结构测试允许通过并行程序覆盖内部结构来识别缺陷。并行程序的非确定性给结构测试带来了新的挑战。他需要测试工具和模型规范ı́领土,能够覆盖原始的通信和同步等动态行为的循环中。本文提出了一种新的结构测试软件工具,旨在帮助测试人员发现C/MPI并行程序重复结构中与通信相关的未知缺陷。基于先前报道,测试人员可以选择测试用例规范ı́做测试和评估活动的进展。提出的测试工具通过在程序代码中吸收缺陷来验证,并分析工具对生成所需元素和选择测试用例的支持。提出的工具自动化了部分测试活动,特别是所需元素的生成和指导测试的执行,减少了应用测试活动的时间。我们的结果表明,测试工具能够揭示循环迭代中通信原语中的未知缺陷。有不断增长的需求是正确的并行程序,主要由于nowadays并行体系结构,这样的集群和多/许多系列处理器。结构测试允许通过覆盖并行程序的内部结构来识别缺陷。Nondeterminism在并行程序的结构性测试带来了新的挑战。它需要特定的测试模型和工具,能够覆盖通信和同步原语与动态行为,例如那些存在于循环中的行为。本文提出了一种新的结构测试软件工具,旨在帮助测试人员揭示C/MPI并行程序重复结构中存在的通信缺陷。根据所取得的覆盖范围,测试人员可以选择具体的测试用例并评估测试活动的进展情况。我们通过在程序代码中注入缺陷和分析生成所需元素和选择测试用例的支持来验证所提议的测试软件工具。ValiMPI工具自动化是测试活动的一部分,特别是生成指导测试用例选择所需的元素,降低测试活动的应用成本。我们的结果表明,测试工具能够在不同的循环迭代中揭示通信的未知缺陷。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 去求助
来源期刊
自引率
0.00%
发文量
0
期刊最新文献
Performance Evaluation of Compiler Optimizations in FPGA Accelerators Análise de viabilidade de ferramenta para correção híbrida de sequências genômicas em ambiente de memória compartilhada com FPGA Poluição de Cache e Thrashing em Aplicações Paralelas de Alto Desempenho Coherence State Awareness in Way-Replacement Algorithms for Multicore Processors Identification and Characterization of Memory Allocation Anomalies in High-Performance Computing Applications
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
现在去查看 取消
×
提示
确定
0
微信
客服QQ
Book学术公众号 扫码关注我们
反馈
×
意见反馈
请填写您的意见或建议
请填写您的手机或邮箱
已复制链接
已复制链接
快去分享给好友吧!
我知道了
×
扫码分享
扫码分享
Book学术官方微信
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术
文献互助 智能选刊 最新文献 互助须知 联系我们:info@booksci.cn
Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。
Copyright © 2023 Book学术 All rights reserved.
ghs 京公网安备 11010802042870号 京ICP备2023020795号-1