首页 > 最新文献

Proceedings 10th International Workshop on Program Comprehension最新文献

英文 中文
Where's the schema? A taxonomy of patterns for software exchange 图式在哪里?用于软件交换的模式分类法
Pub Date : 2002-06-27 DOI: 10.1109/WPC.2002.1021320
Dean Jin, J. Cordy, T. Dean
Program comprehension tools extract, organize and analyze information about the design and implementation of software systems. Before software tools can exchange information, they must share, at some level, the organization for the data exchanged, i.e. they must share a schema. In this paper we examine the various ways in which schemas are represented and used in tools. Schema use is classified according to how and where a schema is defined, leading to the identification of four patterns of exchange. We examine these exchange patterns and discuss how each has been used in existing software tool integration technologies. An evaluation of each exchange pattern against the requirements for a standard exchange format reveals the pattern of schema use that is most suitable for integrating the tools.
程序理解工具提取、组织和分析有关软件系统设计和实现的信息。在软件工具能够交换信息之前,它们必须在某种程度上共享交换数据的组织,也就是说,它们必须共享一个模式。在本文中,我们将研究模式在工具中表示和使用的各种方式。根据模式的定义方式和位置对模式的使用进行分类,从而识别出四种交换模式。我们将研究这些交换模式,并讨论如何在现有的软件工具集成技术中使用每种模式。根据标准交换格式的需求对每个交换模式进行评估,可以发现最适合集成工具的模式使用模式。
{"title":"Where's the schema? A taxonomy of patterns for software exchange","authors":"Dean Jin, J. Cordy, T. Dean","doi":"10.1109/WPC.2002.1021320","DOIUrl":"https://doi.org/10.1109/WPC.2002.1021320","url":null,"abstract":"Program comprehension tools extract, organize and analyze information about the design and implementation of software systems. Before software tools can exchange information, they must share, at some level, the organization for the data exchanged, i.e. they must share a schema. In this paper we examine the various ways in which schemas are represented and used in tools. Schema use is classified according to how and where a schema is defined, leading to the identification of four patterns of exchange. We examine these exchange patterns and discuss how each has been used in existing software tool integration technologies. An evaluation of each exchange pattern against the requirements for a standard exchange format reveals the pattern of schema use that is most suitable for integrating the tools.","PeriodicalId":210649,"journal":{"name":"Proceedings 10th International Workshop on Program Comprehension","volume":"29 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2002-06-27","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"117226812","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 30
Building program understanding tools using visitor combinators 使用访问者组合子构建程序理解工具
Pub Date : 2002-06-27 DOI: 10.1109/WPC.2002.1021335
A. Deursen, Joost Visser
Program understanding tools manipulate program representations, such as abstract syntax trees, control-flow graphs or data-flow graphs. This paper deals with the use of visitor combinators to conduct such manipulations. Visitor combinators are an extension of the well-known visitor design pattern. They are small, reusable classes that carry out specific visiting steps. They can be composed in different constellations to build more complex visitors. We evaluate the expressiveness, reusability, ease of development and applicability of visitor combinators to the construction of program understanding tools. To that end, we conduct a case study in the use of visitor combinators for control-flow analysis and visualization as used in a commercial Cobol program understanding tool.
程序理解工具操作程序表示,例如抽象语法树、控制流图或数据流图。本文讨论使用访问者组合子来进行这种操作。访问者组合子是众所周知的访问者设计模式的扩展。它们是执行特定访问步骤的小型可重用类。它们可以组成不同的星座,以构建更复杂的访客。我们评估了访问者组合子在程序理解工具构建中的表达性、可重用性、易于开发和适用性。为此,我们进行了一个案例研究,在商业Cobol程序理解工具中使用访问者组合子进行控制流分析和可视化。
{"title":"Building program understanding tools using visitor combinators","authors":"A. Deursen, Joost Visser","doi":"10.1109/WPC.2002.1021335","DOIUrl":"https://doi.org/10.1109/WPC.2002.1021335","url":null,"abstract":"Program understanding tools manipulate program representations, such as abstract syntax trees, control-flow graphs or data-flow graphs. This paper deals with the use of visitor combinators to conduct such manipulations. Visitor combinators are an extension of the well-known visitor design pattern. They are small, reusable classes that carry out specific visiting steps. They can be composed in different constellations to build more complex visitors. We evaluate the expressiveness, reusability, ease of development and applicability of visitor combinators to the construction of program understanding tools. To that end, we conduct a case study in the use of visitor combinators for control-flow analysis and visualization as used in a commercial Cobol program understanding tool.","PeriodicalId":210649,"journal":{"name":"Proceedings 10th International Workshop on Program Comprehension","volume":"125 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2002-06-27","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"117340493","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 17
Traceability recovery in RAD software systems RAD软件系统的追溯性恢复
Pub Date : 2002-06-27 DOI: 10.1109/WPC.2002.1021342
M. D. Penta, S. Gradara, G. Antoniol
Proposes an approach and a process to recover traceability links between source code and free text documents in a software system developed with extensive use of COTS, middleware, and automatically generated code. The approach relies on a process to filter information gathered from low level artifacts. Information filtering was performed according to a taxonomy of factors affecting traceability links recovery methods. Those factors directly stem from software rapid development techniques. The approach was applied to recover traceability links from a industrial software, developed with RAD techniques and tools, and making use of COTS (e.g., database access components), automatically generated code (e.g., via GUI builder and report generators), and middleware (i.e., CORBA). Results are presented, along with lessons learned.
在广泛使用COTS、中间件和自动生成的代码开发的软件系统中,提出一种方法和过程来恢复源代码和自由文本文档之间的可追溯性链接。该方法依赖于一个流程来过滤从低级工件收集的信息。根据影响可追溯性链接恢复方法的因素分类进行信息过滤。这些因素直接源于软件快速开发技术。该方法被应用于从工业软件中恢复可追溯性链接,使用RAD技术和工具开发,并利用COTS(例如,数据库访问组件)、自动生成的代码(例如,通过GUI构建器和报告生成器)和中间件(例如,CORBA)。报告提出了结果和经验教训。
{"title":"Traceability recovery in RAD software systems","authors":"M. D. Penta, S. Gradara, G. Antoniol","doi":"10.1109/WPC.2002.1021342","DOIUrl":"https://doi.org/10.1109/WPC.2002.1021342","url":null,"abstract":"Proposes an approach and a process to recover traceability links between source code and free text documents in a software system developed with extensive use of COTS, middleware, and automatically generated code. The approach relies on a process to filter information gathered from low level artifacts. Information filtering was performed according to a taxonomy of factors affecting traceability links recovery methods. Those factors directly stem from software rapid development techniques. The approach was applied to recover traceability links from a industrial software, developed with RAD techniques and tools, and making use of COTS (e.g., database access components), automatically generated code (e.g., via GUI builder and report generators), and middleware (i.e., CORBA). Results are presented, along with lessons learned.","PeriodicalId":210649,"journal":{"name":"Proceedings 10th International Workshop on Program Comprehension","volume":"60 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2002-06-27","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132352390","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 40
Lightweight impact analysis using island grammars 使用孤岛语法的轻量级影响分析
Pub Date : 2002-06-27 DOI: 10.1109/WPC.2002.1021343
L. Moonen
Impact analysis is needed for the planning and estimation of software maintenance projects. Traditional impact analysis techniques tend to be too expensive for this phase, so there is need for more lightweight approaches. We present a technique for the generation of lightweight impact analyzers from island grammars. We demonstrate this technique using a real-world case study in which we describe how island grammars can be used to find account numbers in the software portfolio of a large bank. We show how we have implemented this analysis and achieved lightweightness using a reusable generative framework for impact analyzers.
软件维护项目的计划和评估需要影响分析。对于这个阶段,传统的影响分析技术往往过于昂贵,因此需要更轻量级的方法。我们提出了一种从岛语法生成轻量级影响分析器的技术。我们使用一个真实的案例研究来演示这种技术,在这个案例研究中,我们描述了如何使用孤岛语法在一家大型银行的软件组合中查找帐号。我们展示了如何实现这种分析,并使用一个可重用的影响分析生成框架来实现轻量级。
{"title":"Lightweight impact analysis using island grammars","authors":"L. Moonen","doi":"10.1109/WPC.2002.1021343","DOIUrl":"https://doi.org/10.1109/WPC.2002.1021343","url":null,"abstract":"Impact analysis is needed for the planning and estimation of software maintenance projects. Traditional impact analysis techniques tend to be too expensive for this phase, so there is need for more lightweight approaches. We present a technique for the generation of lightweight impact analyzers from island grammars. We demonstrate this technique using a real-world case study in which we describe how island grammars can be used to find account numbers in the software portfolio of a large bank. We show how we have implemented this analysis and achieved lightweightness using a reusable generative framework for impact analyzers.","PeriodicalId":210649,"journal":{"name":"Proceedings 10th International Workshop on Program Comprehension","volume":"73 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2002-06-27","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129277631","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 86
Source code files as structured documents 作为结构化文档的源代码文件
Pub Date : 2002-06-27 DOI: 10.1109/WPC.2002.1021351
Jonathan I. Maletic, M. Collard, Andrian Marcus
A means to add explicit structure to program source code is presented. XML is used to augment source code with syntactic information from the parse tree. More importantly, comments and formatting are preserved and identified for future use by development environments and program comprehension tools. The focus is to construct a document representation in XML instead of a more traditional data representation of the source code. This type of representation supports a programmer centric view of the source rather than a compiler centric view. Our representation is made relevant with respect to other research on XML representations of parse trees and program code. The highlights of the representation are presented and the use of queries and transformations discussed.
提出了一种在程序源代码中添加显式结构的方法。XML用于用来自解析树的语法信息扩充源代码。更重要的是,注释和格式被保存和识别,以供开发环境和程序理解工具将来使用。重点是用XML构造文档表示,而不是用更传统的源代码数据表示。这种类型的表示支持以程序员为中心的源代码视图,而不是以编译器为中心的视图。我们的表示与其他关于解析树和程序代码的XML表示的研究相关。介绍了该表示的重点,并讨论了查询和转换的使用。
{"title":"Source code files as structured documents","authors":"Jonathan I. Maletic, M. Collard, Andrian Marcus","doi":"10.1109/WPC.2002.1021351","DOIUrl":"https://doi.org/10.1109/WPC.2002.1021351","url":null,"abstract":"A means to add explicit structure to program source code is presented. XML is used to augment source code with syntactic information from the parse tree. More importantly, comments and formatting are preserved and identified for future use by development environments and program comprehension tools. The focus is to construct a document representation in XML instead of a more traditional data representation of the source code. This type of representation supports a programmer centric view of the source rather than a compiler centric view. Our representation is made relevant with respect to other research on XML representations of parse trees and program code. The highlights of the representation are presented and the use of queries and transformations discussed.","PeriodicalId":210649,"journal":{"name":"Proceedings 10th International Workshop on Program Comprehension","volume":"24 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2002-06-27","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126368726","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 135
Relocating XML elements from preprocessed to unprocessed code 将XML元素从预处理代码重定位到未处理代码
Pub Date : 2002-06-27 DOI: 10.1109/WPC.2002.1021344
Anthony Cox, C. Clarke
Transformations performed on source code by a preprocessor complicate the accurate reporting of information extracted to support program comprehension. Differences between the file input to the preprocessor and the output seen by parser-based analyzers creates a need for techniques to back-locate extracted information. To correctly map analysis results back to the preprocessor input files requires a record of the substitutions performed by the preprocessor. This record takes the form of a list, for each character, of the directives responsible for the character's inclusion in the preprocessor's output. We have developed algorithms to utilize the substitution history for the start and end tags of an XML element to correctly place the element in the unprocessed source. The use of substitution histories ensures that element relocation produces well-formed XML.
由预处理器对源代码执行的转换使为支持程序理解而提取的信息的准确报告复杂化。预处理器的文件输入与基于解析器的分析器看到的输出之间存在差异,因此需要使用技术来回定位提取的信息。为了将分析结果正确地映射回预处理器输入文件,需要预处理器执行的替换记录。该记录采用列表的形式,对于每个字符,负责在预处理器的输出中包含该字符的指令。我们已经开发了一些算法来利用XML元素的开始和结束标记的替换历史,以便将元素正确地放置在未处理的源中。替换历史记录的使用确保元素重定位生成格式良好的XML。
{"title":"Relocating XML elements from preprocessed to unprocessed code","authors":"Anthony Cox, C. Clarke","doi":"10.1109/WPC.2002.1021344","DOIUrl":"https://doi.org/10.1109/WPC.2002.1021344","url":null,"abstract":"Transformations performed on source code by a preprocessor complicate the accurate reporting of information extracted to support program comprehension. Differences between the file input to the preprocessor and the output seen by parser-based analyzers creates a need for techniques to back-locate extracted information. To correctly map analysis results back to the preprocessor input files requires a record of the substitutions performed by the preprocessor. This record takes the form of a list, for each character, of the directives responsible for the character's inclusion in the preprocessor's output. We have developed algorithms to utilize the substitution history for the start and end tags of an XML element to correctly place the element in the unprocessed source. The use of substitution histories ensures that element relocation produces well-formed XML.","PeriodicalId":210649,"journal":{"name":"Proceedings 10th International Workshop on Program Comprehension","volume":"79 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2002-06-27","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125968261","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 15
Comprehending Web applications by a clustering based approach 通过基于集群的方法理解Web应用程序
Pub Date : 2002-06-27 DOI: 10.1109/WPC.2002.1021347
G. D. Lucca, A. R. Fasolino, F. Pace, Porfirio Tramontana, U. D. Carlini
The number and complexity of Web applications are increasing dramatically to satisfy market needs, and the need of effective approaches for comprehending them is growing accordingly. Recently, reverse engineering methods and tools have been proposed to support the comprehension of a Web application; the information recovered by these tools is usually rendered in graphical representations. However, the graphical representations become progressively less useful with large-scale applications, and do not support adequately the comprehension of the application. To overcome this limitation, we propose an approach based on a clustering method for decomposing a Web application (WA) into groups of functionally related components. The approach is based on the definition of a coupling measure between interconnected components of the WA that takes into account both the typology and topology of the connections. The coupling measure is exploited by a clustering algorithm that produces a hierarchy of clustering. This hierarchy allows a structured approach for comprehension of the Web application to be carried out. The approach has been experimented with medium sized Web applications and produced interesting and encouraging results.
为了满足市场需求,Web应用程序的数量和复杂性正在急剧增加,对理解它们的有效方法的需求也相应增长。最近,人们提出了逆向工程方法和工具来支持对Web应用程序的理解;这些工具恢复的信息通常以图形表示形式呈现。然而,图形表示在大规模应用程序中变得越来越不有用,并且不能充分支持对应用程序的理解。为了克服这一限制,我们提出了一种基于聚类方法的方法,用于将Web应用程序(WA)分解为功能相关的组件组。该方法基于WA互连组件之间耦合度量的定义,该度量考虑了连接的类型和拓扑。这种耦合度量被一种聚类算法利用,该算法产生一个聚类层次结构。这种层次结构允许使用结构化方法来理解Web应用程序。这种方法已经在中等规模的Web应用程序中进行了试验,并产生了有趣和令人鼓舞的结果。
{"title":"Comprehending Web applications by a clustering based approach","authors":"G. D. Lucca, A. R. Fasolino, F. Pace, Porfirio Tramontana, U. D. Carlini","doi":"10.1109/WPC.2002.1021347","DOIUrl":"https://doi.org/10.1109/WPC.2002.1021347","url":null,"abstract":"The number and complexity of Web applications are increasing dramatically to satisfy market needs, and the need of effective approaches for comprehending them is growing accordingly. Recently, reverse engineering methods and tools have been proposed to support the comprehension of a Web application; the information recovered by these tools is usually rendered in graphical representations. However, the graphical representations become progressively less useful with large-scale applications, and do not support adequately the comprehension of the application. To overcome this limitation, we propose an approach based on a clustering method for decomposing a Web application (WA) into groups of functionally related components. The approach is based on the definition of a coupling measure between interconnected components of the WA that takes into account both the typology and topology of the connections. The coupling measure is exploited by a clustering algorithm that produces a hierarchy of clustering. This hierarchy allows a structured approach for comprehension of the Web application to be carried out. The approach has been experimented with medium sized Web applications and produced interesting and encouraging results.","PeriodicalId":210649,"journal":{"name":"Proceedings 10th International Workshop on Program Comprehension","volume":"154 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2002-06-27","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"133083225","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 73
Compression techniques to simplify the analysis of large execution traces 压缩技术简化了对大型执行轨迹的分析
Pub Date : 2002-06-27 DOI: 10.1109/WPC.2002.1021337
A. Hamou-Lhadj, T. Lethbridge
Dynamic analysis consists of analyzing the behavior of a software system to extract its properties. There have been many studies that use dynamic information to extract high-level views of a software system or simply to help software engineers to perform their daily maintenance activities more effectively. One of the biggest challenges that such tools face is to deal with very large execution traces. By analyzing the execution traces of the software systems we are working on, we noticed that they contain many redundancies that can be removed. This led us to create a comprehension-driven compression framework that compresses the traces to make them more understandable. In this paper, we present and explain its components. The compression framework is reversible that is the original trace can be reconstructed from its compressed version. In addition to that, we conducted an experiment with the execution traces of two software systems to measure the gain attained by such compression.
动态分析包括分析软件系统的行为以提取其属性。已经有许多研究使用动态信息来提取软件系统的高级视图,或者只是帮助软件工程师更有效地执行日常维护活动。此类工具面临的最大挑战之一是处理非常大的执行跟踪。通过分析我们正在处理的软件系统的执行轨迹,我们注意到它们包含许多可以删除的冗余。这导致我们创建了一个理解驱动的压缩框架,它可以压缩跟踪,使它们更容易理解。在本文中,我们提出并解释了它的组成部分。压缩框架是可逆的,即原始轨迹可以从其压缩版本重建。除此之外,我们还对两个软件系统的执行轨迹进行了实验,以测量这种压缩所获得的增益。
{"title":"Compression techniques to simplify the analysis of large execution traces","authors":"A. Hamou-Lhadj, T. Lethbridge","doi":"10.1109/WPC.2002.1021337","DOIUrl":"https://doi.org/10.1109/WPC.2002.1021337","url":null,"abstract":"Dynamic analysis consists of analyzing the behavior of a software system to extract its properties. There have been many studies that use dynamic information to extract high-level views of a software system or simply to help software engineers to perform their daily maintenance activities more effectively. One of the biggest challenges that such tools face is to deal with very large execution traces. By analyzing the execution traces of the software systems we are working on, we noticed that they contain many redundancies that can be removed. This led us to create a comprehension-driven compression framework that compresses the traces to make them more understandable. In this paper, we present and explain its components. The compression framework is reversible that is the original trace can be reconstructed from its compressed version. In addition to that, we conducted an experiment with the execution traces of two software systems to measure the gain attained by such compression.","PeriodicalId":210649,"journal":{"name":"Proceedings 10th International Workshop on Program Comprehension","volume":"212 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2002-06-27","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131992655","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 67
Evolving Ispell: a case study of program understanding for reuse 演进的Ispell:程序理解重用的案例研究
Pub Date : 2002-06-27 DOI: 10.1109/WPC.2002.1021341
Lerina Aversano, G. Canfora, A. D. Lucia, Silvio Stefanucci
Text processing has proven helpful in a number of software engineering tasks. We discuss how a morphological analyser for the Italian language, and its associated linguistic resources, have been developed by reusing and evolving an existing system, Ispell, which is an open-source spell-checker. The need to develop such an analyser derives from the need to improve the traceability link recovery process described by G. Antoniol et al. (2000, 2002). This paper shows how the program understanding exercise was useful to develop a system in a specialized application domain in which we had a very limited background knowledge.
事实证明,文本处理在许多软件工程任务中都是有用的。我们将讨论如何通过重用和改进现有的Ispell系统(一个开源的拼写检查器)来开发意大利语的形态分析器及其相关的语言资源。开发这样一种分析仪的需要源于改进G. Antoniol等人(2000,2002)所描述的可追溯性链接恢复过程的需要。这篇论文展示了程序理解练习对于在我们背景知识非常有限的专门应用领域中开发系统是如何有用的。
{"title":"Evolving Ispell: a case study of program understanding for reuse","authors":"Lerina Aversano, G. Canfora, A. D. Lucia, Silvio Stefanucci","doi":"10.1109/WPC.2002.1021341","DOIUrl":"https://doi.org/10.1109/WPC.2002.1021341","url":null,"abstract":"Text processing has proven helpful in a number of software engineering tasks. We discuss how a morphological analyser for the Italian language, and its associated linguistic resources, have been developed by reusing and evolving an existing system, Ispell, which is an open-source spell-checker. The need to develop such an analyser derives from the need to improve the traceability link recovery process described by G. Antoniol et al. (2000, 2002). This paper shows how the program understanding exercise was useful to develop a system in a specialized application domain in which we had a very limited background knowledge.","PeriodicalId":210649,"journal":{"name":"Proceedings 10th International Workshop on Program Comprehension","volume":"25 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2002-06-27","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125281770","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 3
On using a benchmark to evaluate C++ extractors 关于使用基准来评估c++提取器
Pub Date : 2002-06-27 DOI: 10.1109/WPC.2002.1021331
S. Sim, R. Holt, S. Easterbrook
In this paper, we take the concept of benchmarking, as used extensively in computing, and apply it to the evaluation of C++ fact extractors. We demonstrate the efficacy of this approach by developing a prototype benchmark, CppETS 1.0 (C++ Extractor Test Suite, pronounced 'see-pets') and collecting feedback in a workshop setting. The CppETS benchmark characterises C++ extractors along two dimensions: accuracy and robustness. It consists of a series of test buckets that contain small C++ programs and related questions that pose different challenges to the extractors. As with other research areas, benchmarks are best developed through technical work and consultation with a community, so we invited researchers to apply CppETS to their extractors and report on their results in a workshop. Four teams participated in this effort, evaluating the four extractors Ccia, cppx, the Rigi C++ parser and TkSee/SN. They found that CppETS gave results that were consistent with their experience with these tools and therefore had good external validity. Workshop participants agreed that CppETS was an important contribution to fact extractor development and testing. Further efforts to make CppETS a widely-accepted benchmark will involve technical improvements and collaboration with the broader community.
在本文中,我们将基准测试的概念广泛应用于计算,并将其应用于c++事实提取器的评估。我们通过开发一个原型基准CppETS 1.0 (c++ Extractor Test Suite,发音为“see-pets”)并在研讨会环境中收集反馈来证明这种方法的有效性。CppETS基准从两个方面来描述c++提取器:准确性和健壮性。它由一系列测试桶组成,其中包含小型c++程序和相关问题,这些问题对提取器提出了不同的挑战。与其他研究领域一样,最好通过技术工作和与社区协商来制定基准,因此我们邀请研究人员将CppETS应用于他们的提取器,并在研讨会上报告他们的结果。四个团队参与了这项工作,评估了四个提取器Ccia、cppx、Rigi c++解析器和TkSee/SN。他们发现CppETS给出的结果与他们使用这些工具的经验一致,因此具有良好的外部有效性。研讨会参与者一致认为,cpets对事实提取器的开发和测试做出了重要贡献。使cpets成为广泛接受的基准的进一步努力将涉及技术改进和与更广泛的社区的合作。
{"title":"On using a benchmark to evaluate C++ extractors","authors":"S. Sim, R. Holt, S. Easterbrook","doi":"10.1109/WPC.2002.1021331","DOIUrl":"https://doi.org/10.1109/WPC.2002.1021331","url":null,"abstract":"In this paper, we take the concept of benchmarking, as used extensively in computing, and apply it to the evaluation of C++ fact extractors. We demonstrate the efficacy of this approach by developing a prototype benchmark, CppETS 1.0 (C++ Extractor Test Suite, pronounced 'see-pets') and collecting feedback in a workshop setting. The CppETS benchmark characterises C++ extractors along two dimensions: accuracy and robustness. It consists of a series of test buckets that contain small C++ programs and related questions that pose different challenges to the extractors. As with other research areas, benchmarks are best developed through technical work and consultation with a community, so we invited researchers to apply CppETS to their extractors and report on their results in a workshop. Four teams participated in this effort, evaluating the four extractors Ccia, cppx, the Rigi C++ parser and TkSee/SN. They found that CppETS gave results that were consistent with their experience with these tools and therefore had good external validity. Workshop participants agreed that CppETS was an important contribution to fact extractor development and testing. Further efforts to make CppETS a widely-accepted benchmark will involve technical improvements and collaboration with the broader community.","PeriodicalId":210649,"journal":{"name":"Proceedings 10th International Workshop on Program Comprehension","volume":"29 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2002-06-27","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115267572","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 49
期刊
Proceedings 10th International Workshop on Program Comprehension
全部 Acc. Chem. Res. ACS Applied Bio Materials ACS Appl. Electron. Mater. ACS Appl. Energy Mater. ACS Appl. Mater. Interfaces ACS Appl. Nano Mater. ACS Appl. Polym. Mater. ACS BIOMATER-SCI ENG ACS Catal. ACS Cent. Sci. ACS Chem. Biol. ACS Chemical Health & Safety ACS Chem. Neurosci. ACS Comb. Sci. ACS Earth Space Chem. ACS Energy Lett. ACS Infect. Dis. ACS Macro Lett. ACS Mater. Lett. ACS Med. Chem. Lett. ACS Nano ACS Omega ACS Photonics ACS Sens. ACS Sustainable Chem. Eng. ACS Synth. Biol. Anal. Chem. BIOCHEMISTRY-US Bioconjugate Chem. BIOMACROMOLECULES Chem. Res. Toxicol. Chem. Rev. Chem. Mater. CRYST GROWTH DES ENERG FUEL Environ. Sci. Technol. Environ. Sci. Technol. Lett. Eur. J. Inorg. Chem. IND ENG CHEM RES Inorg. Chem. J. Agric. Food. Chem. J. Chem. Eng. Data J. Chem. Educ. J. Chem. Inf. Model. J. Chem. Theory Comput. J. Med. Chem. J. Nat. Prod. J PROTEOME RES J. Am. Chem. Soc. LANGMUIR MACROMOLECULES Mol. Pharmaceutics Nano Lett. Org. Lett. ORG PROCESS RES DEV ORGANOMETALLICS J. Org. Chem. J. Phys. Chem. J. Phys. Chem. A J. Phys. Chem. B J. Phys. Chem. C J. Phys. Chem. Lett. Analyst Anal. Methods Biomater. Sci. Catal. Sci. Technol. Chem. Commun. Chem. Soc. Rev. CHEM EDUC RES PRACT CRYSTENGCOMM Dalton Trans. Energy Environ. Sci. ENVIRON SCI-NANO ENVIRON SCI-PROC IMP ENVIRON SCI-WAT RES Faraday Discuss. Food Funct. Green Chem. Inorg. Chem. Front. Integr. Biol. J. Anal. At. Spectrom. J. Mater. Chem. A J. Mater. Chem. B J. Mater. Chem. C Lab Chip Mater. Chem. Front. Mater. Horiz. MEDCHEMCOMM Metallomics Mol. Biosyst. Mol. Syst. Des. Eng. Nanoscale Nanoscale Horiz. Nat. Prod. Rep. New J. Chem. Org. Biomol. Chem. Org. Chem. Front. PHOTOCH PHOTOBIO SCI PCCP Polym. Chem.
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
0
微信
客服QQ
Book学术公众号 扫码关注我们
反馈
×
意见反馈
请填写您的意见或建议
请填写您的手机或邮箱
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
现在去查看 取消
×
提示
确定
Book学术官方微信
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术
文献互助 智能选刊 最新文献 互助须知 联系我们:info@booksci.cn
Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。
Copyright © 2023 Book学术 All rights reserved.
ghs 京公网安备 11010802042870号 京ICP备2023020795号-1