How to test your concurrent software: an approach for the selection of testing techniques

S. Melo, S. Souza, P. L. D. Souza, Jeffrey C. Carver
{"title":"How to test your concurrent software: an approach for the selection of testing techniques","authors":"S. Melo, S. Souza, P. L. D. Souza, Jeffrey C. Carver","doi":"10.1145/3141865.3142468","DOIUrl":null,"url":null,"abstract":"High-Performance Computing (HPC) applications consist of concurrent programs with multi-process and/or multithreaded models with varying degrees of parallelism. Although their design patterns, models, and principles are similar to those of sequential ones, their non-deterministic behavior makes the testing activity more complex. In an attempt to solve such complexity, several techniques for concurrent software testing have been developed over the past years. However, the transference of knowledge between academy and industry remains a challenge, mainly due to the lack of a solid base of evidence with information that assists the decision-making process. This paper proposes the construction of a body of evidence for the concurrent programming field that supports the selection of an adequate testing technique for a software project. We propose a characterization schema which assists the decision-making support and is based on relevant information from the technical literature regarding available techniques, attributes, and concepts of concurrent programming that affect the testing process. The schema classified 109 studies that compose the preliminary body of evidence. A survey was conducted with specialists for the validation of the schema, regarding adequacy and relevance of the attributes defined. The results indicate the schema is effective and can support testing teams for concurrent applications.","PeriodicalId":424955,"journal":{"name":"Proceedings of the 4th ACM SIGPLAN International Workshop on Software Engineering for Parallel Systems","volume":"98 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2017-10-23","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"6","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Proceedings of the 4th ACM SIGPLAN International Workshop on Software Engineering for Parallel Systems","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/3141865.3142468","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 6

Abstract

High-Performance Computing (HPC) applications consist of concurrent programs with multi-process and/or multithreaded models with varying degrees of parallelism. Although their design patterns, models, and principles are similar to those of sequential ones, their non-deterministic behavior makes the testing activity more complex. In an attempt to solve such complexity, several techniques for concurrent software testing have been developed over the past years. However, the transference of knowledge between academy and industry remains a challenge, mainly due to the lack of a solid base of evidence with information that assists the decision-making process. This paper proposes the construction of a body of evidence for the concurrent programming field that supports the selection of an adequate testing technique for a software project. We propose a characterization schema which assists the decision-making support and is based on relevant information from the technical literature regarding available techniques, attributes, and concepts of concurrent programming that affect the testing process. The schema classified 109 studies that compose the preliminary body of evidence. A survey was conducted with specialists for the validation of the schema, regarding adequacy and relevance of the attributes defined. The results indicate the schema is effective and can support testing teams for concurrent applications.
查看原文
分享 分享
微信好友 朋友圈 QQ好友 复制链接
本刊更多论文
如何测试你的并发软件:一种选择测试技术的方法
高性能计算(HPC)应用程序由具有不同并行度的多进程和/或多线程模型的并发程序组成。尽管它们的设计模式、模型和原则与顺序的设计模式、模型和原则相似,但它们的不确定性行为使测试活动更加复杂。为了解决这种复杂性,在过去的几年里,已经开发了几种用于并发软件测试的技术。然而,学术界和产业界之间的知识转移仍然是一个挑战,主要原因是缺乏坚实的证据基础和有助于决策过程的信息。本文提出构建并行编程领域的证据体系,以支持为软件项目选择适当的测试技术。我们提出了一个表征模式,它有助于决策支持,并基于技术文献中有关影响测试过程的可用技术、属性和并发编程概念的相关信息。该图式对109项研究进行了分类,这些研究构成了初步的证据。与专家一起进行了一项调查,以验证模式,关于所定义属性的充分性和相关性。结果表明该模式是有效的,可以支持并发应用程序的测试团队。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 去求助
来源期刊
自引率
0.00%
发文量
0
期刊最新文献
MALT: a Malloc tracker Performance analysis and optimization of the RAMPAGE metal alloy potential generation software Facilitating collaboration in high-performance computing projects with an interaction room The influence of HPCToolkit and Score-p on hardware performance counters How to test your concurrent software: an approach for the selection of testing techniques
×
引用
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