Refining code-design mapping with flow analysis

Xiaofang Zhang, M. Young, John Howard Eli Fiskio-Lasseter
{"title":"Refining code-design mapping with flow analysis","authors":"Xiaofang Zhang, M. Young, John Howard Eli Fiskio-Lasseter","doi":"10.1145/1029894.1029926","DOIUrl":null,"url":null,"abstract":"We address the problem of refining and completing a partially specified high-level design model and a partially-defined mapping from source code to design model. This is related but not identical to tasks that have been automated with a variety of reverse engineering tools to support software modification tasks. We posited that set-based flow analysis algorithms would provide a convenient and powerful basis for refining an initial rough model and partial mapping, and in particular that the ability to compute fixed points of set equations would be useful in propagating constraints on the relations among the model, the mapping, and facts extracted from the implementation. Here we report our experience applying this approach to a modest but realistic example problem. We were successful in expressing a variety of useful transformations very succinctly as flow equations, and the propagation of recursively-defined constraints was indeed useful in refining the mapping from implementation to model. On the other hand, our experience highlights remaining challenges to make this an attractive approach for general use. Special measures are required to identify and remove inconsistent constraints before they propagate through a system. Also, while the required flow equations are succinct, they are also rather opaque; it is not obvious how their expressive power might be preserved in a more accessible notation.","PeriodicalId":121365,"journal":{"name":"SIGSOFT '04/FSE-12","volume":"747 ","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2004-10-31","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"9","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"SIGSOFT '04/FSE-12","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/1029894.1029926","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 9

Abstract

We address the problem of refining and completing a partially specified high-level design model and a partially-defined mapping from source code to design model. This is related but not identical to tasks that have been automated with a variety of reverse engineering tools to support software modification tasks. We posited that set-based flow analysis algorithms would provide a convenient and powerful basis for refining an initial rough model and partial mapping, and in particular that the ability to compute fixed points of set equations would be useful in propagating constraints on the relations among the model, the mapping, and facts extracted from the implementation. Here we report our experience applying this approach to a modest but realistic example problem. We were successful in expressing a variety of useful transformations very succinctly as flow equations, and the propagation of recursively-defined constraints was indeed useful in refining the mapping from implementation to model. On the other hand, our experience highlights remaining challenges to make this an attractive approach for general use. Special measures are required to identify and remove inconsistent constraints before they propagate through a system. Also, while the required flow equations are succinct, they are also rather opaque; it is not obvious how their expressive power might be preserved in a more accessible notation.
用流分析精炼代码设计映射
我们解决了精炼和完成部分指定的高级设计模型以及从源代码到设计模型的部分定义映射的问题。这与使用各种逆向工程工具来支持软件修改任务的自动化任务相关,但并不相同。我们假设基于集合的流分析算法将为精炼初始粗糙模型和部分映射提供方便和强大的基础,特别是计算集合方程不固定点的能力将有助于传播模型、映射和从实现中提取的事实之间关系的约束。在这里,我们报告将这种方法应用于一个一般但现实的示例问题的经验。我们成功地将各种有用的转换非常简洁地表达为流方程,并且递归定义的约束的传播在精炼从实现到模型的映射方面确实很有用。另一方面,我们的经验强调了使这种方法成为一种有吸引力的通用方法所面临的挑战。在不一致的约束通过系统传播之前,需要采取特殊的措施来识别和删除它们。此外,虽然所需的流动方程很简洁,但它们也相当不透明;它们的表达能力如何在一个更容易理解的符号中得以保留,这一点并不明显。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约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学术文献互助群
群 号:604180095
Book学术官方微信
小红书