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

筛选
英文 中文
An object level transformation technique to improve the performance of embedded applications 一种提高嵌入式应用程序性能的对象级转换技术
S. Bartolini, C. Prete
{"title":"An object level transformation technique to improve the performance of embedded applications","authors":"S. Bartolini, C. Prete","doi":"10.1109/SCAM.2001.972663","DOIUrl":"https://doi.org/10.1109/SCAM.2001.972663","url":null,"abstract":"Embedded system designers tend to use small and simple cache memories. This kind of cache can experience poor performance because of their nonflexible placement policy. In this scenario, a big fraction of the misses can originate from the mismatch between cache behavior and memory access locality features. A way to increase the performance is to modify the program layout to fit the cache structure. This strategy needs the solution of a NP complete problem and very long processing time to determine the optimum layout. We propose an object level transformation technique to, look for a program layout that minimizes the number of misses by means of smart heuristics. The solution transforms the program layout using standard functionalities of a linker. Using some standard benchmarks and several embedded applications, we show the benefits of transforming program layout on various cache configurations.","PeriodicalId":190865,"journal":{"name":"Proceedings First IEEE International Workshop on Source Code Analysis and Manipulation","volume":"3 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":"124689146","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}
引用次数: 2
Smell the coffee! Uncovering Java analysis issues 闻闻咖啡的味道!揭示Java分析问题
C. Knight
{"title":"Smell the coffee! Uncovering Java analysis issues","authors":"C. Knight","doi":"10.1109/SCAM.2001.972677","DOIUrl":"https://doi.org/10.1109/SCAM.2001.972677","url":null,"abstract":"The article sets out to address some of the issues that occur when there is a need to utilise analysis and manipulation techniques on Java source code. Unfortunately, Java has been largely ignored within academia with more interest still being expressed in COBOL, C, and C++. This is a problem because of the utilisation of Java in industry and the need to be able to analyse and comprehend systems that are already in existence. Java programs have the same problems as with those written in other languages; but there are also some that are more related to Java and the object-oriented paradigm, and also to the newer initiatives that Java is now involved with. The paper presents a survey of these issues and seeks to stimulate discussion and possible solutions for them.","PeriodicalId":190865,"journal":{"name":"Proceedings First IEEE International Workshop on Source Code Analysis and Manipulation","volume":"47 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":"126444292","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}
引用次数: 4
Flow insensitive points-to sets 流不敏感点集
P. Anderson, D. Binkley, Genevieve Rosay, T. Teitelbaum
{"title":"Flow insensitive points-to sets","authors":"P. Anderson, D. Binkley, Genevieve Rosay, T. Teitelbaum","doi":"10.1109/SCAM.2001.972669","DOIUrl":"https://doi.org/10.1109/SCAM.2001.972669","url":null,"abstract":"Pointer analysis is an important part of source code analysis. Many programs that manipulate source code take points-to sets as part of their input input. Points-to related data collected from 27 mid-sized C programs (ranging in size from 1168 to 53131 lines of code) is presented The data shows the relative sizes and the complexities of computing points-to sets. Such data is useful in improving algorithms for the computation of points-to sets as well as algorithms that make use of this information in other operations. Several uses of the data are discussed.","PeriodicalId":190865,"journal":{"name":"Proceedings First IEEE International Workshop on Source Code Analysis and Manipulation","volume":"95 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":"124079510","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}
引用次数: 16
Finding code on the World Wide Web: a preliminary investigation 在万维网上查找代码:初步调查
J. Bieman, Vanessa Murdock
{"title":"Finding code on the World Wide Web: a preliminary investigation","authors":"J. Bieman, Vanessa Murdock","doi":"10.1109/SCAM.2001.972668","DOIUrl":"https://doi.org/10.1109/SCAM.2001.972668","url":null,"abstract":"To find out what kind of design structures programmers really use, we need to examine a wide variety of programs. Unfortunately, most program source code is proprietary and is unavailable for analysis. The World Wide Web (Web) potentially can provide a rich source of programs for study. The freely available code on the Web, if in sufficient quality and quantity, can provide a window into software design as it is practiced today. In a preliminary study of source code availability on the Web, we estimate that 4% of URLs contain object-oriented source code, and 9% of URLs contain executable code: either binary or class files. This represents an enormous resource for program analysis. We can, with some risk of inaccuracy, conservatively project our sampling results to the entire Web. Our estimate is that the Web contains at least 3.4 million files containing either Java, C++, or Perl source code, 20.3 million files containing C source code, and 8.7 million files containing executable code.","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":"130178365","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}
引用次数: 14
The formal transformation approach to source code analysis and manipulation 源代码分析和操作的正式转换方法
Martin P. Ward
{"title":"The formal transformation approach to source code analysis and manipulation","authors":"Martin P. Ward","doi":"10.1109/SCAM.2001.972680","DOIUrl":"https://doi.org/10.1109/SCAM.2001.972680","url":null,"abstract":"The article gives a brief introduction to the foundations of WSL transformation theory and describes some applications to program slicing. We introduce some generalisations of traditional slicing, amorphous slicing and conditioned slicing which are possible in the framework of WSL transformations. One generalisation is \"semantic slicing\" which combines slicing and abstraction to a specification.","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":"128955239","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}
引用次数: 24
A hybrid program slicing framework 混合程序切片框架
J. Rilling, Bhaskar Karanth
{"title":"A hybrid program slicing framework","authors":"J. Rilling, Bhaskar Karanth","doi":"10.1109/SCAM.2001.972662","DOIUrl":"https://doi.org/10.1109/SCAM.2001.972662","url":null,"abstract":"Program slicing is a decomposition technique that transforms a large program into a smaller one that contains only statements relevant to the computation of a selected function. Applications of program slicing can be found in software testing, debugging, and maintenance by reducing the amount of data that has to be analyzed in order to comprehend a program or parts of its functionality. In this paper, we present a general dynamic and static slicing algorithm. Both algorithms are based on the notion of removable blocks and compute executable slices for object-oriented programs. In the second part of the paper we present our hybrid-slicing framework that was designed to take advantage of static and dynamic slicing algorithms that share the common notion of removable blocks, to enhance traditional slicing techniques. The hybrid-slicing framework is an integrated part of our existing MOOSE software comprehension framework that is used to demonstrate the applications and usability of these algorithms for the comprehension of software systems.","PeriodicalId":190865,"journal":{"name":"Proceedings First IEEE International Workshop on Source Code Analysis and Manipulation","volume":"40 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":"128342401","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}
引用次数: 20
A source-to-source compiler for generating dependable software 用于生成可靠软件的源到源编译器
M. Rebaudengo, M. Reorda, M. Violante, Marco Torchiano
{"title":"A source-to-source compiler for generating dependable software","authors":"M. Rebaudengo, M. Reorda, M. Violante, Marco Torchiano","doi":"10.1109/SCAM.2001.972664","DOIUrl":"https://doi.org/10.1109/SCAM.2001.972664","url":null,"abstract":"Over the last years, an increasing number of safety-critical tasks have been demanded for computer systems. In particular, safety-critical computer-based applications are hitting market areas where cost is a major issue, and thus solutions are required which conjugate fault tolerance with low costs. A source-to-source compiler supporting a software-implemented hardware fault tolerance approach is proposed, based on a set of source code transformation rules. The proposed approach hardens a program against transient memory errors by introducing software redundancy: every computation is performed twice and results are compared, and control flow invariants are checked explicitly. By exploiting the tool's capabilities, several benchmark applications have been hardened against transient errors. Fault injection campaigns have been performed to evaluate the fault detection capability of the hardened applications. In addition, we analyzed the proposed approach in terms of space and time overheads.","PeriodicalId":190865,"journal":{"name":"Proceedings First IEEE International Workshop on Source Code Analysis and Manipulation","volume":"53 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":"134401183","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}
引用次数: 104
Measurement and analysis of runtime profiling data for Java programs 度量和分析Java程序的运行时概要数据
J. Horgan, James F. Power, J. Waldron
{"title":"Measurement and analysis of runtime profiling data for Java programs","authors":"J. Horgan, James F. Power, J. Waldron","doi":"10.1109/SCAM.2001.972673","DOIUrl":"https://doi.org/10.1109/SCAM.2001.972673","url":null,"abstract":"The authors examine a procedure for the analysis of data produced by the dynamic profiling of Java programs. In particular, we describe the issues involved in dynamic analysis, propose a metric for discrimination between the resulting data sets, and examine its application over different test suites and compilers.","PeriodicalId":190865,"journal":{"name":"Proceedings First IEEE International Workshop on Source Code Analysis and Manipulation","volume":"68 21","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2001-11-10","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"120874782","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}
引用次数: 10
Analysis and manipulation of distributed multi-language software code 分析和操作分布式多语言软件代码
L. Deruelle, N. Melab, M. Bouneffa, H. Basson
{"title":"Analysis and manipulation of distributed multi-language software code","authors":"L. Deruelle, N. Melab, M. Bouneffa, H. Basson","doi":"10.1109/SCAM.2001.972665","DOIUrl":"https://doi.org/10.1109/SCAM.2001.972665","url":null,"abstract":"The authors propose a formal model and a platform to deal with distributed multi-language software analysis. These provide a graph representation of the software codes (source codes and byte-codes), a change propagation process based on graph rewriting, and an automatic profiling tool to measure the contribution of any component to the global performance of the software. The program codes are structured by a multi-graph in which the nodes represent the software components linked by edges representing the meaningful relationships. The software components and their relationships are extracted from the byte-code files, using the mocha decompiler tool, and from the source codes files, using the Javacc tool. Javacc allows one to generate parsers, based on grammar specification files, which include features to produce an XML (eXtensible Markup Language) representation of the software components. Furthermore, a graph of the software components is constructed on the top of the XML files, providing program analysis. This is implemented by an integrated platform including the mocha decompiler, a multi-language parsing tool, a software change management module, and a profiling tool.","PeriodicalId":190865,"journal":{"name":"Proceedings First IEEE International Workshop on Source Code Analysis and Manipulation","volume":"78 3","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2001-11-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"120915171","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}
引用次数: 18
Using automated source code analysis for software evolution 使用自动化的源代码分析软件的发展
E. Burd, S. Rank
{"title":"Using automated source code analysis for software evolution","authors":"E. Burd, S. Rank","doi":"10.1109/SCAM.2001.972682","DOIUrl":"https://doi.org/10.1109/SCAM.2001.972682","url":null,"abstract":"Software maintenance is one of the most expensive and time-consuming phases in the software life-cycle. The size and complexity of commercial applications probably present the greatest difficulty that maintainers face when making changes to their applications. As a result of the corresponding loss of understanding, business knowledge encapsulated within the system becomes fragmented, and any changes made as a result of new business initiatives become difficult to implement and hence may mean a loss of business opportunities. The paper outlines an approach to regaining understanding of software which has been used in the Release project at Durham University. This approach involves determining the calling structure of a program in terms of a call-graph, and from this call-graph extracting a dominance tree. Various problems which have been encountered during the construction of tools to perform this task are described.","PeriodicalId":190865,"journal":{"name":"Proceedings First IEEE International Workshop on Source Code Analysis and Manipulation","volume":"54 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2001-11-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121426855","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}
引用次数: 7
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学术官方微信