Understanding program understanding

Françoise Balmas, H. Wertz, J. Singer
{"title":"Understanding program understanding","authors":"Françoise Balmas, H. Wertz, J. Singer","doi":"10.1109/WPC.2000.852501","DOIUrl":null,"url":null,"abstract":"It is well known that many software activities involve Program Understanding tasks. In fact, anyone working in Software Engineering is confronted with the task of understanding programs, at one level or another, in one form or another, and normally s/he succeeds rather well. However, we don't have any clear understanding of what ?to understand programs? means: is it to extract the program's structure or control/data flows? Is it to understand the relations between data and its transformations with respect to meanings in the application domain? Etc. We do neither have explicit guidelines to help us to perform a given program understanding task, nor do we have good criteria to decide how to represent knowledge derived by and used for program understanding. We conclude from the latter a strong need for further (fundamental) research in the Program Understanding area itself.Below is a provisional list of questions about program understanding: How could we define ?Program Understanding?? When do we decide we understand (enough) a program? What kind of program understanding do we achieve depending on the task at hand? How do we represent, in our minds, on paper or in files, our understanding of a program? What kind of help can we get from existing Program Understanding tools? What would we like to get actually (be it feasible or not)? What can we expect to have, as automatic help to understand programs, in the near future, in the long term? How could we describe our experiments, our own knowledge, so that they can be shared, re-used? What about Program Understanding Patterns?The goal of this Working Session is to exchange views on the former questions and others, to discuss possible research strategies, and to create an international interest group on Program Understanding, enhancing the sharing of tools, ideas and repositories.","PeriodicalId":448149,"journal":{"name":"Proceedings IWPC 2000. 8th International Workshop on Program Comprehension","volume":"213 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2000-06-10","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"9","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Proceedings IWPC 2000. 8th International Workshop on Program Comprehension","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/WPC.2000.852501","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 9

Abstract

It is well known that many software activities involve Program Understanding tasks. In fact, anyone working in Software Engineering is confronted with the task of understanding programs, at one level or another, in one form or another, and normally s/he succeeds rather well. However, we don't have any clear understanding of what ?to understand programs? means: is it to extract the program's structure or control/data flows? Is it to understand the relations between data and its transformations with respect to meanings in the application domain? Etc. We do neither have explicit guidelines to help us to perform a given program understanding task, nor do we have good criteria to decide how to represent knowledge derived by and used for program understanding. We conclude from the latter a strong need for further (fundamental) research in the Program Understanding area itself.Below is a provisional list of questions about program understanding: How could we define ?Program Understanding?? When do we decide we understand (enough) a program? What kind of program understanding do we achieve depending on the task at hand? How do we represent, in our minds, on paper or in files, our understanding of a program? What kind of help can we get from existing Program Understanding tools? What would we like to get actually (be it feasible or not)? What can we expect to have, as automatic help to understand programs, in the near future, in the long term? How could we describe our experiments, our own knowledge, so that they can be shared, re-used? What about Program Understanding Patterns?The goal of this Working Session is to exchange views on the former questions and others, to discuss possible research strategies, and to create an international interest group on Program Understanding, enhancing the sharing of tools, ideas and repositories.
理解程序理解
众所周知,许多软件活动都涉及到程序理解任务。事实上,任何从事软件工程工作的人都面临着理解程序的任务,在一个层次或另一个层次,以一种形式或另一种形式,通常他/她会相当成功。然而,我们对什么都没有清楚的了解?方法:是提取程序的结构还是控制/数据流?是为了理解数据及其转换与应用程序域中的含义之间的关系吗?等。我们既没有明确的指导方针来帮助我们执行给定的程序理解任务,也没有好的标准来决定如何表示由程序理解派生并用于程序理解的知识。我们从后者得出结论,在程序理解领域本身需要进一步(基础)研究。下面是一个关于程序理解的临时问题列表:我们如何定义?程序理解??我们什么时候才能确定我们对一个程序有足够的了解?根据手头的任务,我们可以获得什么样的程序理解?我们如何在脑海中,在纸上或文件中,表达我们对程序的理解?我们可以从现有的程序理解工具中获得什么样的帮助?我们实际想要得到什么(可行与否)?在不久的将来,从长远来看,我们能期望拥有什么,作为理解程序的自动帮助?我们如何描述我们的实验,我们自己的知识,这样它们才能被分享,被再利用?那么程序理解模式呢?本次工作会议的目的是就上述问题和其他问题交换意见,讨论可能的研究策略,并创建一个关于程序理解的国际兴趣小组,加强工具、思想和存储库的共享。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约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学术官方微信