2009 Ninth IEEE International Working Conference on Source Code Analysis and Manipulation最新文献

筛选
英文 中文
The FermaT Maintenance Environment Tool Demonstration 费马维护环境工具演示
Martin P. Ward
{"title":"The FermaT Maintenance Environment Tool Demonstration","authors":"Martin P. Ward","doi":"10.1109/SCAM.2009.23","DOIUrl":"https://doi.org/10.1109/SCAM.2009.23","url":null,"abstract":"The FermaT Maintenance Environment (FME) is a platform independent graphical user interface for the FermaT program transformation system. It is able to represent WSL code and apply FermaT transformations on single statements.","PeriodicalId":353579,"journal":{"name":"2009 Ninth IEEE International Working Conference on Source Code Analysis and Manipulation","volume":"66 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2009-09-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"117231926","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}
引用次数: 1
thr2csp: Toward Transforming Threads into Communicating Sequential Processes 将线程转换为通信顺序进程
Robert Charles Lange, S. Mancoridis
{"title":"thr2csp: Toward Transforming Threads into Communicating Sequential Processes","authors":"Robert Charles Lange, S. Mancoridis","doi":"10.1109/SCAM.2009.10","DOIUrl":"https://doi.org/10.1109/SCAM.2009.10","url":null,"abstract":"As multicore and heterogeneous multiprocessor platforms replace uniprocessor systems, software programs must be designed with a greater emphasis on concurrency. Threading has become the dominant paradigm of concurrent computation in the most popular programming languages. Large threaded programs are known to be difficult to implement correctly, comprehend, and maintain, while concurrent programs written in process algebraic paradigms of concurrency, such as communicating sequential processes, are known to be easier to analyze. This paper presents our initial work on reverse engineering threaded source code and transforming the code into functionally-equivalent message-passing code. The paper also explores future work needed to convert the message-passing code into communicating sequential processes.","PeriodicalId":353579,"journal":{"name":"2009 Ninth IEEE International Working Conference on Source Code Analysis and Manipulation","volume":"53 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2009-09-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126364659","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
An Assessment of Type-3 Clones as Detected by State-of-the-Art Tools 最先进的工具检测到的3型克隆的评估
Rebecca Tiarks, R. Koschke, Raimar Falke
{"title":"An Assessment of Type-3 Clones as Detected by State-of-the-Art Tools","authors":"Rebecca Tiarks, R. Koschke, Raimar Falke","doi":"10.1109/SCAM.2009.16","DOIUrl":"https://doi.org/10.1109/SCAM.2009.16","url":null,"abstract":"Code reuse through copying and pasting leads to so-called software clones. These clones can be roughly categorized into identical fragments (type-1 clones), fragments with parameter substitution (type-2 clones), and similar fragments that differ through modified,deleted, or added statements (type-3 clones). Although there has been extensive research on detecting clones, detection of type-3 clones is still an open research issue due to the inherent vaguenessin their definition. In this paper, we analyze type-3 clones detected by state-of-the-art tools and investigate type-3 clones in terms of their syntactic differences. Then, we derive their underlying semantic abstractions from their syntactic differences. Finally, we investigate whether there are any additional code characteristics that indicate that a tool-suggested clone candidate is a real type-3 clone from a human's perspective. Our findings can help developers of clone detectors to improve their tools.","PeriodicalId":353579,"journal":{"name":"2009 Ninth IEEE International Working Conference on Source Code Analysis and Manipulation","volume":"130 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2009-09-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132635811","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}
引用次数: 47
Lightweight Techniques for Tracking Unique Program Statements 跟踪唯一程序语句的轻量级技术
Jaime Spacco, Chadd C. Williams
{"title":"Lightweight Techniques for Tracking Unique Program Statements","authors":"Jaime Spacco, Chadd C. Williams","doi":"10.1109/SCAM.2009.19","DOIUrl":"https://doi.org/10.1109/SCAM.2009.19","url":null,"abstract":"Previous work on tracking source locations has focused on tracking lines through multiple revisions of software. In this paper, we explore a new technique for tracking statements, rather than lines, across multiple revisions of Java source code. We show that our statement-tracking technique achieves comparable accuracy for source code than the most accurate line-tracking techniques, while also safely handling all non-executable formatting changes, such as breaking a single statement across many lines, adding or removing whitespace, moving brackets, or re-ordering methods. Finally, we compare the performance of three of the current state-of-the-art techniques for tracking lines across revisions on a series of benchmarks, and discuss the strengths and weaknesses of each technique.","PeriodicalId":353579,"journal":{"name":"2009 Ninth IEEE International Working Conference on Source Code Analysis and Manipulation","volume":"45 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2009-09-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128895108","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}
引用次数: 8
Backporting Java 5 Code 后移植Java 5代码
T. Gutzmann, Tamara Steijger
{"title":"Backporting Java 5 Code","authors":"T. Gutzmann, Tamara Steijger","doi":"10.1109/SCAM.2009.21","DOIUrl":"https://doi.org/10.1109/SCAM.2009.21","url":null,"abstract":"Java 5 has introduced a number of new syntactical language features that make development faster, easier, and safer. However, at the same time, it has also introduced downward incompatibilities: code written for Java 5 cannot be used on pre-Java 5 platforms. This tool demonstration presents a number of source-to-source transformations that backport source code written for the Java 5 platform to legacy platforms. Developers who are, for different reasons, still bound to legacy platforms can benefit with help of this tool from the new language features, and they can use thirdparty components written for more recent platforms. Compared to existing tools, ours is the first that can backport all new syntactical Java 5 language features while the user maintains full control of the source code.","PeriodicalId":353579,"journal":{"name":"2009 Ninth IEEE International Working Conference on Source Code Analysis and Manipulation","volume":"109 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2009-09-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115380208","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
Static Estimation of Test Coverage 测试覆盖率的静态估计
Tiago L. Alves, Joost Visser
{"title":"Static Estimation of Test Coverage","authors":"Tiago L. Alves, Joost Visser","doi":"10.1109/SCAM.2009.15","DOIUrl":"https://doi.org/10.1109/SCAM.2009.15","url":null,"abstract":"Test coverage is an important indicator for unit test quality. Tools such as Clover compute coverage by first instrumenting the code with logging functionality, and then logging which parts are executed during unit test runs. Since computation of test coverage is a dynamic analysis, it presupposes a working installation of the software. In the context of software quality assessment by an independent third party, a working installation is often not available. The evaluator may not have access to the required libraries or hardware platform. The installation procedure may not be automated or documented. In this paper, we propose a technique for estimating test coverage at method level through static analysis only. The technique uses slicing of static call graphs to estimate the dynamic test coverage. We explain the technique and its implementation. We validate the results of the static estimation by statistical comparison to values obtained through dynamic analysis using Clover. We found high correlation between static coverage estimation and real coverage at system level but closer analysis on package and class level reveals opportunities for further improvement.","PeriodicalId":353579,"journal":{"name":"2009 Ninth IEEE International Working Conference on Source Code Analysis and Manipulation","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2009-09-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131177980","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
Maintaining Fine-Grained Code Metadata Regardless of Moving, Copying and Merging 无论移动、复制和合并,都要维护细粒度的代码元数据
Christian R. Prause
{"title":"Maintaining Fine-Grained Code Metadata Regardless of Moving, Copying and Merging","authors":"Christian R. Prause","doi":"10.1109/SCAM.2009.20","DOIUrl":"https://doi.org/10.1109/SCAM.2009.20","url":null,"abstract":"Source code metadata on a file-level granularity is too coarse for certain applications. But fine-grained metadata (e.g. line-by-line authorship) easily gets lost due to changes like merging, moving or copying code. Enabling metadata to survive code evolution provides valuable insights into program source code. This helps developers to understand the sources and opens up opportunities for advanced tools. We present a concept that utilizes different search heuristics to identify probable ancestors of source documents, and pair this with clone detection to locate origins of inserted code. Arbitrary kinds of metadata can then be linked to code sections and be preserved automatically while code evolves. We evaluate our approach using code from the Hydra and FreeCol projects, and sketch prospective applications.","PeriodicalId":353579,"journal":{"name":"2009 Ninth IEEE International Working Conference on Source Code Analysis and Manipulation","volume":"432 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2009-09-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131920202","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
Concepts as Syntactic Sugar 作为语法糖的概念
Valentin David, M. Haveraaen
{"title":"Concepts as Syntactic Sugar","authors":"Valentin David, M. Haveraaen","doi":"10.1109/SCAM.2009.26","DOIUrl":"https://doi.org/10.1109/SCAM.2009.26","url":null,"abstract":"The coming standard for C++ will contain language extensions. It can be expected that there will be some years between the release of the new standard and the time when most compilers will be compliant, like it happened for the 1998 standard. Concepts are an extension proposed for the new standard. We show how we can translate ConceptC++ code into pure C++03 using the C++ template mechanism. Such a translation tool could be used for example to port software written using a ConceptC++ compiler to architectures having only older compilers. Or a library written using concepts could be used by a project written in pure C++. The goal of this transformation is not to provide all capabilities of ConceptC++, but with restrictions we can afford, to be as simple as possible.","PeriodicalId":353579,"journal":{"name":"2009 Ninth IEEE International Working Conference on Source Code Analysis and Manipulation","volume":"125 3","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2009-09-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132702584","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
A Value Analysis for C Programs C程序的价值分析
G. Canet, Pascal Cuoq, Benjamin Monate
{"title":"A Value Analysis for C Programs","authors":"G. Canet, Pascal Cuoq, Benjamin Monate","doi":"10.1109/SCAM.2009.22","DOIUrl":"https://doi.org/10.1109/SCAM.2009.22","url":null,"abstract":"We demonstrate the value analysis of Frama-C. Frama-C is an Open Source static analysis framework for the C language. In Frama-C, each static analysis technique, approach or idea can be implemented as a new plug-in, with the opportunity to obtain information from other plug-ins, and to leave the verification of difficult properties to yet other plug-ins. The new analysis may in turn provide access to the data it has computed. The value analysis of Frama-C is a plug-in based on abstract interpretation. It computes and stores supersets of possible values for all the variables at each statement of the analyzed program. It handles pointers, arrays, structs, and heterogeneous pointer casts. Besides producing supersets of possible values for the variables at each point of the execution, the value analysis produces run-time-error alarms. An alarm is emitted for each operation in the analyzed program where the value analysis cannot guarantee that there will not be a run-time error.","PeriodicalId":353579,"journal":{"name":"2009 Ninth IEEE International Working Conference on Source Code Analysis and Manipulation","volume":"5 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2009-09-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131188100","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}
引用次数: 72
A Metric Extraction Framework Based on a High-Level Description Language 基于高级描述语言的度量抽取框架
E. Alikacem, H. Sahraoui
{"title":"A Metric Extraction Framework Based on a High-Level Description Language","authors":"E. Alikacem, H. Sahraoui","doi":"10.1109/SCAM.2009.27","DOIUrl":"https://doi.org/10.1109/SCAM.2009.27","url":null,"abstract":"Nowadays, many tools are available for metric extraction. However, extending these tools with new metrics or modifying the calculation of existing ones is often difficult, sometimes impossible. Indeed, many of them are black box tools. Others can be extended only by modifying third-party code. Moreover, metric specifications often lack precision, which leads to implementations that do not correspond necessarily to users’ expectations. In this paper, we propose a flexible approach for metric collection based on a metric description language that allows manipulating basic data extracted from the code. These data are mapped to a generic object-oriented meta-model that is language agnostic. This makes it easy to focus on the metric specification rather than language specific constructs. Metric specifications are interpreted automatically to extract their corresponding values for a target program.","PeriodicalId":353579,"journal":{"name":"2009 Ninth IEEE International Working Conference on Source Code Analysis and Manipulation","volume":"136 ","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2009-09-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"113982640","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}
引用次数: 27
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学术文献互助群
群 号:604180095
Book学术官方微信
小红书