统一编程理论中的细化和测试用例生成

Jifeng He
{"title":"统一编程理论中的细化和测试用例生成","authors":"Jifeng He","doi":"10.1109/ICSM.2008.4658048","DOIUrl":null,"url":null,"abstract":"This talk presents a theory of testing that integrates into Hoare and Hepsilas Unifying Theory of Programming (UTP). We give test cases a denotational semantics by viewing them as specification predicates. This reformulation of test cases allows for relating test cases via refinement to specifications and programs. Having such a refinement order that integrates test cases, we develop a testing theory for fault-based testing. Fault-based testing uses test data designed to demonstrate the absence of a set of pre-specified faults. A well-known fault-based technique is mutation testing. In mutation testing, first, faults are injected into a program by altering (mutating) its source code. Then, test cases that can detect these errors are designed. The assumption is that other faults will be caught, too. We apply the mutation technique to both specifications and programs. Using our theory of testing, two new test case generation laws for detecting injected (anticipated) faults are presented: one is based on the semantic level of design specifications, the other on the algebraic properties of a programming language.","PeriodicalId":211605,"journal":{"name":"International Conference on Smart Multimedia","volume":"112 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2008-10-24","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"2","resultStr":"{\"title\":\"Refinement and test case generation in Unifying Theory of Programming\",\"authors\":\"Jifeng He\",\"doi\":\"10.1109/ICSM.2008.4658048\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"This talk presents a theory of testing that integrates into Hoare and Hepsilas Unifying Theory of Programming (UTP). We give test cases a denotational semantics by viewing them as specification predicates. This reformulation of test cases allows for relating test cases via refinement to specifications and programs. Having such a refinement order that integrates test cases, we develop a testing theory for fault-based testing. Fault-based testing uses test data designed to demonstrate the absence of a set of pre-specified faults. A well-known fault-based technique is mutation testing. In mutation testing, first, faults are injected into a program by altering (mutating) its source code. Then, test cases that can detect these errors are designed. The assumption is that other faults will be caught, too. We apply the mutation technique to both specifications and programs. Using our theory of testing, two new test case generation laws for detecting injected (anticipated) faults are presented: one is based on the semantic level of design specifications, the other on the algebraic properties of a programming language.\",\"PeriodicalId\":211605,\"journal\":{\"name\":\"International Conference on Smart Multimedia\",\"volume\":\"112 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2008-10-24\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"2\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"International Conference on Smart Multimedia\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1109/ICSM.2008.4658048\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"International Conference on Smart Multimedia","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/ICSM.2008.4658048","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 2

摘要

这次演讲介绍了一个测试理论,它集成了Hoare和Hepsilas统一编程理论(UTP)。通过将测试用例视为规范谓词,我们为它们提供了指称语义。测试用例的这种重新表述允许通过细化到规范和程序来关联测试用例。有了这样一个集成测试用例的细化顺序,我们开发了一个基于故障的测试理论。基于故障的测试使用旨在证明不存在一组预先指定的故障的测试数据。一个著名的基于故障的技术是突变测试。在突变测试中,首先,通过改变(突变)程序的源代码将错误注入程序。然后,设计可以检测这些错误的测试用例。假设其他错误也会被发现。我们将突变技术应用于规格和程序。利用我们的测试理论,提出了检测注入(预期)故障的两种新的测试用例生成规律:一种是基于设计规范的语义层次,另一种是基于编程语言的代数性质。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
Refinement and test case generation in Unifying Theory of Programming
This talk presents a theory of testing that integrates into Hoare and Hepsilas Unifying Theory of Programming (UTP). We give test cases a denotational semantics by viewing them as specification predicates. This reformulation of test cases allows for relating test cases via refinement to specifications and programs. Having such a refinement order that integrates test cases, we develop a testing theory for fault-based testing. Fault-based testing uses test data designed to demonstrate the absence of a set of pre-specified faults. A well-known fault-based technique is mutation testing. In mutation testing, first, faults are injected into a program by altering (mutating) its source code. Then, test cases that can detect these errors are designed. The assumption is that other faults will be caught, too. We apply the mutation technique to both specifications and programs. Using our theory of testing, two new test case generation laws for detecting injected (anticipated) faults are presented: one is based on the semantic level of design specifications, the other on the algebraic properties of a programming language.
求助全文
通过发布文献求助,成功后即可免费获取论文全文。 去求助
来源期刊
自引率
0.00%
发文量
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术官方微信