A simple static model for understanding the dynamic behavior of programs

Pierre Kelsen
{"title":"A simple static model for understanding the dynamic behavior of programs","authors":"Pierre Kelsen","doi":"10.1109/WPC.2004.1311046","DOIUrl":null,"url":null,"abstract":"To maintain software and to adapt it to changing requirements, one needs to have a solid understanding of both its structure and behavior. While there are a number of reverse engineering tools that aid in understanding the runtime behavior of programs, these are mostly based on variants of UML sequence diagrams or statechart diagrams. We propose a new model for understanding runtime behavior that presents several advantages over the more traditional models: it has a simple syntax (a very small subset of UML). Second one can tailor the same type of model to different abstraction levels while maintaining traceability. Third, they have a clearly defined semantics that makes them executable. Finally they capture both static and dynamic aspects of a system. We present three scenarios where our model - named EOP-model - aids with program comprehension: (1) high-level debugging, with which one can observe the execution of the program at a higher level of abstraction; (2) high-level program slicing, which allows to identify the data items in our model that may influence an operation, regardless of the abstraction level, and (3) generating abstract views at varying levels of detail while maintaining traceability between model elements and the code.","PeriodicalId":164866,"journal":{"name":"Proceedings. 12th IEEE International Workshop on Program Comprehension, 2004.","volume":"65 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2004-06-24","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"12","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Proceedings. 12th IEEE International Workshop on Program Comprehension, 2004.","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/WPC.2004.1311046","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 12

Abstract

To maintain software and to adapt it to changing requirements, one needs to have a solid understanding of both its structure and behavior. While there are a number of reverse engineering tools that aid in understanding the runtime behavior of programs, these are mostly based on variants of UML sequence diagrams or statechart diagrams. We propose a new model for understanding runtime behavior that presents several advantages over the more traditional models: it has a simple syntax (a very small subset of UML). Second one can tailor the same type of model to different abstraction levels while maintaining traceability. Third, they have a clearly defined semantics that makes them executable. Finally they capture both static and dynamic aspects of a system. We present three scenarios where our model - named EOP-model - aids with program comprehension: (1) high-level debugging, with which one can observe the execution of the program at a higher level of abstraction; (2) high-level program slicing, which allows to identify the data items in our model that may influence an operation, regardless of the abstraction level, and (3) generating abstract views at varying levels of detail while maintaining traceability between model elements and the code.
用于理解程序动态行为的简单静态模型
为了维护软件并使其适应不断变化的需求,需要对其结构和行为有扎实的理解。虽然有许多逆向工程工具可以帮助理解程序的运行时行为,但这些工具大多是基于UML序列图或状态图的变体。我们提出了一个新的模型来理解运行时行为,它比传统的模型有几个优点:它有一个简单的语法(UML的一个非常小的子集)。第二种方法可以在保持可追溯性的同时,为不同的抽象级别定制相同类型的模型。第三,它们具有明确定义的语义,使它们可执行。最后,它们捕获系统的静态和动态方面。我们提出了三种场景,其中我们的模型(称为eop模型)有助于程序理解:(1)高级调试,可以在更高的抽象级别上观察程序的执行;(2)高级程序切片,它允许在我们的模型中识别可能影响操作的数据项,而不考虑抽象级别,以及(3)在保持模型元素和代码之间的可追溯性的同时,在不同的细节级别上生成抽象视图。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 求助全文
来源期刊
自引率
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学术官方微信