面向对象程序的一元动态切片

Bihuan Xu, Junyan Qian, Yingzhou Zhang, Shurong Zhu
{"title":"面向对象程序的一元动态切片","authors":"Bihuan Xu, Junyan Qian, Yingzhou Zhang, Shurong Zhu","doi":"10.1109/CYBERC.2018.00053","DOIUrl":null,"url":null,"abstract":"Program slicing is an effective technique for narrowing the focus of attention to the relevant parts of a program. The dynamic slice contains only those statements that actually affect the variables in the slicing criterion, thus it is useful in software debugging, testing and maintenance. This paper proposes a new approach to dynamically slice object-oriented programs (OOPs) based on modular monadic semantics. It abstracts the computation of program slicing as a language-independent object, slice monad transformer, which can be applied to semantic descriptions of the program analyzed in a modular way, forming the corresponding monadic slicing algorithms. Such algorithms allow dynamic slices to be computed directly on abstract syntax, with no needs to explicitly construct intermediate structures such as dependence graphs or to record an execution history. Simultaneously, it could describe the basic object-oriented (OO) features such as encapsulation, inheritance and dynamic binding well. It has excellent reusability and language-flexibility properties comparing with the current dynamic slicing methods for OOPs.","PeriodicalId":282903,"journal":{"name":"2018 International Conference on Cyber-Enabled Distributed Computing and Knowledge Discovery (CyberC)","volume":"40 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2018-10-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":"{\"title\":\"Monadic Dynamic Slicing of Object-Oriented Programs\",\"authors\":\"Bihuan Xu, Junyan Qian, Yingzhou Zhang, Shurong Zhu\",\"doi\":\"10.1109/CYBERC.2018.00053\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"Program slicing is an effective technique for narrowing the focus of attention to the relevant parts of a program. The dynamic slice contains only those statements that actually affect the variables in the slicing criterion, thus it is useful in software debugging, testing and maintenance. This paper proposes a new approach to dynamically slice object-oriented programs (OOPs) based on modular monadic semantics. It abstracts the computation of program slicing as a language-independent object, slice monad transformer, which can be applied to semantic descriptions of the program analyzed in a modular way, forming the corresponding monadic slicing algorithms. Such algorithms allow dynamic slices to be computed directly on abstract syntax, with no needs to explicitly construct intermediate structures such as dependence graphs or to record an execution history. Simultaneously, it could describe the basic object-oriented (OO) features such as encapsulation, inheritance and dynamic binding well. It has excellent reusability and language-flexibility properties comparing with the current dynamic slicing methods for OOPs.\",\"PeriodicalId\":282903,\"journal\":{\"name\":\"2018 International Conference on Cyber-Enabled Distributed Computing and Knowledge Discovery (CyberC)\",\"volume\":\"40 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2018-10-01\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"0\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"2018 International Conference on Cyber-Enabled Distributed Computing and Knowledge Discovery (CyberC)\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1109/CYBERC.2018.00053\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"2018 International Conference on Cyber-Enabled Distributed Computing and Knowledge Discovery (CyberC)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/CYBERC.2018.00053","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 0

摘要

程序切片是一种有效的技术,可以将注意力集中在程序的相关部分。动态切片只包含那些实际影响切片标准中的变量的语句,因此它在软件调试、测试和维护中很有用。提出了一种基于模块化一元语义的面向对象程序动态切片方法。它将程序切片的计算抽象为一个独立于语言的对象——切片单元转换器(slice monad transformer),它可以应用于以模块化方式分析的程序的语义描述,形成相应的单元切片算法。这样的算法允许在抽象语法上直接计算动态切片,而不需要显式地构造诸如依赖关系图之类的中间结构或记录执行历史。同时,它能很好地描述面向对象的基本特性,如封装、继承和动态绑定等。与目前面向对象的动态切片方法相比,该方法具有良好的可重用性和语言灵活性。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
Monadic Dynamic Slicing of Object-Oriented Programs
Program slicing is an effective technique for narrowing the focus of attention to the relevant parts of a program. The dynamic slice contains only those statements that actually affect the variables in the slicing criterion, thus it is useful in software debugging, testing and maintenance. This paper proposes a new approach to dynamically slice object-oriented programs (OOPs) based on modular monadic semantics. It abstracts the computation of program slicing as a language-independent object, slice monad transformer, which can be applied to semantic descriptions of the program analyzed in a modular way, forming the corresponding monadic slicing algorithms. Such algorithms allow dynamic slices to be computed directly on abstract syntax, with no needs to explicitly construct intermediate structures such as dependence graphs or to record an execution history. Simultaneously, it could describe the basic object-oriented (OO) features such as encapsulation, inheritance and dynamic binding well. It has excellent reusability and language-flexibility properties comparing with the current dynamic slicing methods for OOPs.
求助全文
通过发布文献求助,成功后即可免费获取论文全文。 去求助
来源期刊
自引率
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学术官方微信