Proceedings First IEEE International Workshop on Source Code Analysis and Manipulation最新文献

筛选
英文 中文
Software engineering by source transformation - experience with TXL 通过源转换进行软件工程- TXL经验
J. Cordy, T. Dean, A. Malton, Kevin A. Schneider
{"title":"Software engineering by source transformation - experience with TXL","authors":"J. Cordy, T. Dean, A. Malton, Kevin A. Schneider","doi":"10.1109/SCAM.2001.972678","DOIUrl":"https://doi.org/10.1109/SCAM.2001.972678","url":null,"abstract":"Many tasks in software engineering can be characterized as source to source transformations. Design recovery, software restructuring, forward engineering, language translation, platform migration and code reuse can all be understood as transformations from one source text to another. TXL, the Tree Transformation Language, is a programming language specifically designed to support rule-based source to source transformation. Originally conceived as a tool for exploring programming language dialects, TXL has evolved into a general purpose software transformation system that has proven well suited to a wide range of software maintenance and reengineering tasks, including the design recovery, analysis and automated reprogramming of billions of lines of commercial Cobol, PL/I and RPG code for the Year 2000. The authors introduce the basic features of modern TXL and its use in a range of software engineering applications, with an emphasis on how each task can be achieved by source transformation.","PeriodicalId":190865,"journal":{"name":"Proceedings First IEEE International Workshop on Source Code Analysis and Manipulation","volume":"31 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2001-11-10","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124597597","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}
引用次数: 41
Application maintenance using software agents 使用软件代理维护应用程序
Amit Sharma, M. Capretz
{"title":"Application maintenance using software agents","authors":"Amit Sharma, M. Capretz","doi":"10.1109/SCAM.2001.972666","DOIUrl":"https://doi.org/10.1109/SCAM.2001.972666","url":null,"abstract":"The benefits of software agents as a tool for helping in the maintenance process of a software application are shown. The goal of this research was to develop a group of intelligent agents that worked together to aid in software maintenance by automatically informing the appropriate individuals of any changes that were made to an open-source Internet software application. This type of application is suited for intelligent agents because the source code is accessed and modified by many users on the Internet, meaning that the application is under constant change. The methodology of completion for this research can be subdivided into four categories: interface agent algorithm development, implementation using Visual C++, multi-agent system development, and testing. The overall goal is accomplished using a network of four agents each having a specific task; one to monitor the code base (Monitor Agent), one to determine the impact of any software changes (Impact Agent), one to search for pertinent documentation (Search Agent), and finally one to e-mail the appropriate software maintainer (E-mail Agent). The final stage in reaching the objectives of this research is the design of a multi-agent system in which the agents will interact with each other using an agent communication language to autonomously maintain the software application.","PeriodicalId":190865,"journal":{"name":"Proceedings First IEEE International Workshop on Source Code Analysis and Manipulation","volume":"93 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2001-11-10","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123559645","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}
引用次数: 11
Restructuring Web applications via transformation rules 通过转换规则重组Web应用程序
F. Ricca, P. Tonella, I. Baxter
{"title":"Restructuring Web applications via transformation rules","authors":"F. Ricca, P. Tonella, I. Baxter","doi":"10.1109/SCAM.2001.972676","DOIUrl":"https://doi.org/10.1109/SCAM.2001.972676","url":null,"abstract":"During the evolution phase, the structure (pages and links) of a Web application tends unavoidably to degrade. A solution to reverse this degradation can be restructuring the Web application, but this work may take a lot of time and effort if conducted without appropriate tools. The theory of rewrite rules has been used with success in many real restructuring works on traditional software. Our idea is trying to apply rewrite rules to Web applications with the aim of restructuring them. The purpose of the paper is threefold: to describe our initial ideas on HTML rewrites to improve the quality of Web applications, to present our approach for implementing a tool, based on transformation rules, that can help designers in Web application restructuring and to define the starting point of the joint project between ITC-irst and Semantic Designs.","PeriodicalId":190865,"journal":{"name":"Proceedings First IEEE International Workshop on Source Code Analysis and Manipulation","volume":"227 15","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2001-11-10","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"113995649","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
Type infeasible call chains 键入不可行的调用链
Amie L. Souter, L. Pollock
{"title":"Type infeasible call chains","authors":"Amie L. Souter, L. Pollock","doi":"10.1109/SCAM.2001.972681","DOIUrl":"https://doi.org/10.1109/SCAM.2001.972681","url":null,"abstract":"While some software engineering applications perform static analysis over the whole program call graph, others are more interested in specific call chains within a program's call graph. It is thus important to identify when a particular static call chain for an object-oriented program may not be executable, or feasible, such that there is no input for which the chain will be taken. The paper examines type infeasibility of call chains, which is the infeasibility caused by inherently polymorphic call sites and sometimes also due to imprecision in call graphs. The problem of determining whether a call chain is type infeasible is defined and exemplified, a key property characterizing type in infeasible call chains is described, empirical results from examining the call graphs for a set of Java programs are described, and two approaches to automatically deciding the type infeasibility of a call chain due to object parameters are presented.","PeriodicalId":190865,"journal":{"name":"Proceedings First IEEE International Workshop on Source Code Analysis and Manipulation","volume":"26 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2001-11-10","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131364013","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}
引用次数: 5
A case study in detecting software security vulnerabilities using constraint optimization 基于约束优化的软件安全漏洞检测案例研究
M. Weber, V. Shah, C. Ren
{"title":"A case study in detecting software security vulnerabilities using constraint optimization","authors":"M. Weber, V. Shah, C. Ren","doi":"10.1109/SCAM.2001.972661","DOIUrl":"https://doi.org/10.1109/SCAM.2001.972661","url":null,"abstract":"In this paper we present a case study in static analysis, with a focus on static methods for detecting buffer overflow vulnerabilities in software. We describe in detail a tool called Mjolnir that we have developed which improves upon existing static analysis techniques for detecting buffer overflow. The architecture and process flow of this tool are presented We discuss some common static analysis obstacles in terms of where they were encountered in developing this tool and the steps that were taken to overcome them. A prototype of the tool has been implemented and used for detecting buffer overflow vulnerabilities in C programs and experimental results are presented that demonstrate the effectiveness of the tool.","PeriodicalId":190865,"journal":{"name":"Proceedings First IEEE International Workshop on Source Code Analysis and Manipulation","volume":"286 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2001-11-10","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132107346","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}
引用次数: 23
JMangler - a framework for load-time transformation of Java class files JMangler——用于Java类文件加载时转换的框架
Günter Kniesel, Pascal Costanza, Michael Austermann
{"title":"JMangler - a framework for load-time transformation of Java class files","authors":"Günter Kniesel, Pascal Costanza, Michael Austermann","doi":"10.1109/SCAM.2001.972671","DOIUrl":"https://doi.org/10.1109/SCAM.2001.972671","url":null,"abstract":"Current proposals for load-time transformation of Java classes are either dependent on the use of a specific class loader or dependent on a specific JVM implementation. This is not due to an inadequacy of the Java platform but to the wrong choice of the level at which to hook into the Java Class Loader Architecture. JMangler follows a novel approach that ensures both class loader and JVM independence by hooking into the base class of all class loaders. Furthermore, existing proposals do not allow transformers to be treated as components because implicit dependencies must be resolved manually. The paper shows that automatic composition is possible for the well-defined class of interface transformations that still include powerful transformations, like addition of fields, methods and classes, and changes to the class hierarchy. Consequently, interface transformers can be deployed jointly even if developed independently.","PeriodicalId":190865,"journal":{"name":"Proceedings First IEEE International Workshop on Source Code Analysis and Manipulation","volume":"28 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2001-11-10","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115700313","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}
引用次数: 100
Using data flow analysis to infer type information in Java bytecode 使用数据流分析来推断Java字节码中的类型信息
P. Maggi, R. Sisto
{"title":"Using data flow analysis to infer type information in Java bytecode","authors":"P. Maggi, R. Sisto","doi":"10.1109/SCAM.2001.972683","DOIUrl":"https://doi.org/10.1109/SCAM.2001.972683","url":null,"abstract":"The paper shows how dataflow analysis can be used to infer type information related to Java bytecode, and evaluates this approach. All the elements needed to specify the dataflow problem to be solved are conveniently defined, according to the theory on data flow frameworks, along with algorithms to build them automatically from the Java bytecode. To evaluate the approach, we consider the specific problem of statically determining the set of methods potentially invoked by each method call instruction, which is useful for several purposes, such as building accurate call graphs. Experimental results are presented, showing that data flow analysis can improve the accuracy of the results with respect to other simpler techniques at acceptable costs.","PeriodicalId":190865,"journal":{"name":"Proceedings First IEEE International Workshop on Source Code Analysis and Manipulation","volume":"13 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2001-11-10","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115378817","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
Static slicing and parametric polymorphism 静态切片和参数多态性
David Byers, Mariam Kamkar
{"title":"Static slicing and parametric polymorphism","authors":"David Byers, Mariam Kamkar","doi":"10.1109/SCAM.2001.972679","DOIUrl":"https://doi.org/10.1109/SCAM.2001.972679","url":null,"abstract":"Interprocedural static slicing of object-oriented programs that use parametric polymorphism and late binding requires the slicing algorithm to guess which implementations of each method may be called at each call site. This problem is well-known in the slicing community, and is mentioned in most papers that discuss slicing of object-oriented programs. We analyze the problem and present a solution to the problem based on technology from the compiler community. Our approach produces accurate results even in the face of multiple levels of polymorphism.","PeriodicalId":190865,"journal":{"name":"Proceedings First IEEE International Workshop on Source Code Analysis and Manipulation","volume":"48 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2001-11-10","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125016519","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}
引用次数: 0
Identifying clones in the Linux kernel 在Linux内核中识别克隆
G. Antoniol, Umberto Villano, M. D. Penta, G. Casazza, E. Merlo
{"title":"Identifying clones in the Linux kernel","authors":"G. Antoniol, Umberto Villano, M. D. Penta, G. Casazza, E. Merlo","doi":"10.1109/SCAM.2001.972670","DOIUrl":"https://doi.org/10.1109/SCAM.2001.972670","url":null,"abstract":"Large multi-platform software systems are likely to encompass hardware-dependent code or sub-systems. However, analyzing multi-platform source code is challenging, due to the variety of supported configurations. Often, the system was originally developed for a single platform, and then new target platforms were added. This practice promotes the presence of duplicated code, also called \"cloned\" code. The paper presents the clone percentage of a multi-platform-multi-million lines of code, Linux kernel version 2.4.0, detected with a metric-based approach. After a brief description of the procedure followed for code analysis and clone identification, the obtained results are commented upon.","PeriodicalId":190865,"journal":{"name":"Proceedings First IEEE International Workshop on Source Code Analysis and Manipulation","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2001-11-10","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130796338","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}
引用次数: 52
Detecting dead statements for concurrent programs 检测并发程序的死语句
Zhenqiang Chen, Baowen Xu, Hongji Yang
{"title":"Detecting dead statements for concurrent programs","authors":"Zhenqiang Chen, Baowen Xu, Hongji Yang","doi":"10.1109/SCAM.2001.972667","DOIUrl":"https://doi.org/10.1109/SCAM.2001.972667","url":null,"abstract":"With more and more concurrent programs being used in practice, technique and tools to analyze such programs are urgently needed. Due to the schedule, race conditions and synchronization among processes (threads), some statements may never be executed. Such statements are dead statements and have no influence on the programs except make them more difficult to analyze and understand. Therefore, the paper develops a data flow approach to detect dead statements for concurrent programs. With this method concurrent programs are represented by concurrent control flow graphs in a simple and precise way, and detecting rules are extracted by analyzing program behavior. Based on these rules, we propose a dead statement-detecting algorithm.","PeriodicalId":190865,"journal":{"name":"Proceedings First IEEE International Workshop on Source Code Analysis and Manipulation","volume":"52 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2001-11-10","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128302298","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}
引用次数: 5
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
相关产品
×
本文献相关产品
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术官方微信