2010 10th IEEE Working Conference on Source Code Analysis and Manipulation最新文献

筛选
英文 中文
Speeding Up Context-, Object- and Field-Sensitive SDG Generation 加快对环境、对象和领域敏感的可持续发展目标生成
Jürgen Graf
{"title":"Speeding Up Context-, Object- and Field-Sensitive SDG Generation","authors":"Jürgen Graf","doi":"10.1109/SCAM.2010.9","DOIUrl":"https://doi.org/10.1109/SCAM.2010.9","url":null,"abstract":"System dependence graphs (SDGs) are an established tool for precise interprocedural program analysis. We present new techniques for the efficient generation of SDGs for full Java, which are context-, field - and object-sensitive. We show that previous approaches to the generation of interprocedural dependencies for Java do not scale, as they interfere with the points-to analysis. Our new algorithm is based on the WALA framework and reduces time and memory consumption up to 90%, while maintaining precision.","PeriodicalId":222204,"journal":{"name":"2010 10th IEEE Working Conference on Source Code Analysis and Manipulation","volume":"47 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2010-09-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"133994835","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}
引用次数: 32
The Fika Parser Generator Fika解析器生成器
2010 10th IEEE Working Conference on Source Code Analysis and Manipulation Pub Date : 2010-09-12 DOI: 10.1109/SCAM.2010.27
Michal Píse
{"title":"The Fika Parser Generator","authors":"Michal Píse","doi":"10.1109/SCAM.2010.27","DOIUrl":"https://doi.org/10.1109/SCAM.2010.27","url":null,"abstract":"Parser generators automate conversion of a context-free grammar into an executable parser and therefore increase developers’ productivity. However, as soon as the entire process of parser development is concerned, their overall usefulness slightly diminishes because the development of the grammar itself is not addressed at all: every grammar is implicitly expected to be written from scratch and the only available mechanism of grammar reuse is copy and paste. In this paper, we briefly describe the Fika parser generator, our tool that facilitates grammar reuse by modularizing context-free grammar descriptions and providing an inheritance-like module reuse primitive.","PeriodicalId":222204,"journal":{"name":"2010 10th IEEE Working Conference on Source Code Analysis and Manipulation","volume":"55 2 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2010-09-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123434989","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
Why Source Code Analysis and Manipulation Will Always be Important 为什么源代码分析和操作总是很重要
2010 10th IEEE Working Conference on Source Code Analysis and Manipulation Pub Date : 2010-09-12 DOI: 10.1109/SCAM.2010.28
M. Harman
{"title":"Why Source Code Analysis and Manipulation Will Always be Important","authors":"M. Harman","doi":"10.1109/SCAM.2010.28","DOIUrl":"https://doi.org/10.1109/SCAM.2010.28","url":null,"abstract":"This paper makes a case for Source Code Analysis and Manipulation. The paper argues that it will not only remain important, but that its importance will continue to grow. This argument is partly based on the `law' of tendency to executability, which the paper introduces. The paper also makes a case for Source Code Analysis purely for the sake of analysis. Analysis for its own sake may not be merely indulgent introspection. The paper argues that it may ultimately prove to be hugely important as source code gradually gathers together all aspects of human socioeconomic and governmental processes and systems. The paper is a written to accompany the author's keynote presentation at the 10th International Working Conference on Source Code Analysis and Manipulation (SCAM 2010). As such, the body of the paper adopts a polemic, first person singular prose style and takes the form of an extended position paper.","PeriodicalId":222204,"journal":{"name":"2010 10th IEEE Working Conference on Source Code Analysis and Manipulation","volume":"11 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2010-09-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132543323","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}
引用次数: 64
Evaluating Code Clone Genealogies at Release Level: An Empirical Study 在发布级别评估代码克隆谱系:一项实证研究
2010 10th IEEE Working Conference on Source Code Analysis and Manipulation Pub Date : 2010-09-12 DOI: 10.1109/SCAM.2010.32
Ripon K. Saha, M. Asaduzzaman, M. Zibran, C. Roy, Kevin A. Schneider
{"title":"Evaluating Code Clone Genealogies at Release Level: An Empirical Study","authors":"Ripon K. Saha, M. Asaduzzaman, M. Zibran, C. Roy, Kevin A. Schneider","doi":"10.1109/SCAM.2010.32","DOIUrl":"https://doi.org/10.1109/SCAM.2010.32","url":null,"abstract":"Code clone genealogies show how clone groups evolve with the evolution of the associated software system, and thus could provide important insights on the maintenance implications of clones. In this paper, we provide an in-depth empirical study for evaluating clone genealogies in evolving open source systems at the release level. We develop a clone genealogy extractor, examine 17 open source C, Java, C++ and C# systems of diverse varieties and study different dimensions of how clone groups evolve with the evolution of the software systems. Our study shows that majority of the clone groups of the clone genealogies either propagate without any syntactic changes or change consistently in the subsequent releases, and that many of the genealogies remain alive during the evolution. These findings seem to be consistent with the findings of a previous study that clones may not be as detrimental in software maintenance as believed to be (at least by many of us), and that instead of aggressively refactoring clones, we should possibly focus on tracking and managing clones during the evolution of software systems.","PeriodicalId":222204,"journal":{"name":"2010 10th IEEE Working Conference on Source Code Analysis and Manipulation","volume":"50 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2010-09-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114684232","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}
引用次数: 70
Learning from 6,000 Projects: Mining Models in the Large 从6000个项目中学习:大范围的挖掘模型
2010 10th IEEE Working Conference on Source Code Analysis and Manipulation Pub Date : 2010-09-12 DOI: 10.1109/SCAM.2010.23
A. Zeller
{"title":"Learning from 6,000 Projects: Mining Models in the Large","authors":"A. Zeller","doi":"10.1109/SCAM.2010.23","DOIUrl":"https://doi.org/10.1109/SCAM.2010.23","url":null,"abstract":"Models - abstract and simple descriptions of some artifact - are the backbone of all software engineering activities. While writing models is hard, existing code can serve as a source for abstract descriptions of how software behaves. To infer correct usage, code analysis needs usage examples, though, the more, the better. We have built a lightweight parser that efficiently extracts API usage models from source code - models that can then be used to detect anomalies. Applied on the 200 million lines of code of the Gen too Linux distribution, we would extract more than 15 million API constraints, encoding and abstracting the \"wisdom of Linux code\".","PeriodicalId":222204,"journal":{"name":"2010 10th IEEE Working Conference on Source Code Analysis and Manipulation","volume":"40 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2010-09-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"134097160","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
Refactoring Support for Modularity Maintenance in Erlang 在Erlang中对模块化维护的重构支持
2010 10th IEEE Working Conference on Source Code Analysis and Manipulation Pub Date : 2010-09-12 DOI: 10.1109/SCAM.2010.17
Huiqing Li, S. Thompson
{"title":"Refactoring Support for Modularity Maintenance in Erlang","authors":"Huiqing Li, S. Thompson","doi":"10.1109/SCAM.2010.17","DOIUrl":"https://doi.org/10.1109/SCAM.2010.17","url":null,"abstract":"Low coupling between modules and high cohesion inside each module are key features of good software architecture. Systems written in modern programming languages generally start with some reasonably well-designed module structure, however with continuous feature additions, modifications and bug fixes, software modularity gradually deteriorates. So, there is a need for incremental improvements to modularity to avoid the situation when the structure of the system becomes too complex to maintain. We demonstrate how Wrangler, a general-purpose refactoring tool for Erlang, can be used to maintain and improve the modularity of programs written in Erlang without dramatically changing the existing module structure. We identify a set of \"modularity smells&quot, and show how they can be detected by Wrangler and removed by way of a variety of refactorings implemented in Wrangler. Validation of the approach and usefulness of the tool are demonstrated by case studies.","PeriodicalId":222204,"journal":{"name":"2010 10th IEEE Working Conference on Source Code Analysis and Manipulation","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2010-09-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130061080","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
Visualization of C++ Template Metaprograms c++模板元程序的可视化
2010 10th IEEE Working Conference on Source Code Analysis and Manipulation Pub Date : 2010-09-12 DOI: 10.1109/SCAM.2010.16
Zoltan Borok-Nagy, Viktor Majer, József Mihalicza, Norbert Pataki, Z. Porkoláb
{"title":"Visualization of C++ Template Metaprograms","authors":"Zoltan Borok-Nagy, Viktor Majer, József Mihalicza, Norbert Pataki, Z. Porkoláb","doi":"10.1109/SCAM.2010.16","DOIUrl":"https://doi.org/10.1109/SCAM.2010.16","url":null,"abstract":"Template metaprograms have become an essential part of today's C++ programs: with proper template definitions we can force the C++ compiler to execute algorithms at compilation time. Among the application areas of template metaprograms are the expression templates, static interface checking, code optimization with adaptation, language embedding and active libraries. Despite all of its already proven benefits and numerous successful applications there are surprisingly few tools for creating, supporting, and analyzing C++ template metaprograms. As metaprograms are executed at compilation time they are even harder to understand. In this paper we present a code visualization tool, which is utilizing Tem plight, our previously developed C++ template metaprogram debugger. Using the tool it is possible to visualize the instantiation chain of C++ templates and follow the execution of metaprograms. Various presentation layers, filtering of template instances and step-by-step replay of the instantiations are supported. Our tool can help to test, optimize, maintain C++ template metaprograms, and can enhance their acceptance in the software industry.","PeriodicalId":222204,"journal":{"name":"2010 10th IEEE Working Conference on Source Code Analysis and Manipulation","volume":"93 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2010-09-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121116019","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
Effective Static Analysis to Find Concurrency Bugs in Java 有效的静态分析发现Java中的并发错误
2010 10th IEEE Working Conference on Source Code Analysis and Manipulation Pub Date : 2010-09-12 DOI: 10.1109/SCAM.2010.20
Zhi Da Luo, L. Hillis, R. Das, Y. Qi
{"title":"Effective Static Analysis to Find Concurrency Bugs in Java","authors":"Zhi Da Luo, L. Hillis, R. Das, Y. Qi","doi":"10.1109/SCAM.2010.20","DOIUrl":"https://doi.org/10.1109/SCAM.2010.20","url":null,"abstract":"Multithreading and concurrency are core features of the Java language. However, writing a correct concurrent program is notoriously difficult and error prone. Therefore, developing effective techniques to find concurrency bugs is very important. Existing static analysis techniques for finding concurrency bugs either sacrifice precision for performance, leading to many false positives, or require sophisticated analysis that incur significant overhead. In this paper, we present a precise and efficient static concurrency bugs detector building upon the Eclipse JDT and the open source WALA toolkit (which provides advanced static analysis capabilities). Our detector uses different implementation strategies to consider different types of concurrency bugs. We either utilize JDT to syntactically examine source code, or leverage WALA to perform interprocedural data flow analysis. We describe a variety of novel heuristics and enhancements to existing analysis techniques which make our detector more practical, in terms of accuracy and performance. We also present an effective approach to create inter-procedural data flow analysis using WALA for complex analysis. Finally we justify our claims by presenting the results of applying our detector to a range of real-world applications and comparing our detector with other tools.","PeriodicalId":222204,"journal":{"name":"2010 10th IEEE Working Conference on Source Code Analysis and Manipulation","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2010-09-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129706189","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}
引用次数: 9
Validating the Use of Topic Models for Software Evolution 验证主题模型在软件演化中的应用
2010 10th IEEE Working Conference on Source Code Analysis and Manipulation Pub Date : 2010-09-12 DOI: 10.1109/SCAM.2010.13
Stephen W. Thomas, Bram Adams, A. Hassan, D. Blostein
{"title":"Validating the Use of Topic Models for Software Evolution","authors":"Stephen W. Thomas, Bram Adams, A. Hassan, D. Blostein","doi":"10.1109/SCAM.2010.13","DOIUrl":"https://doi.org/10.1109/SCAM.2010.13","url":null,"abstract":"Topics are collections of words that co-occur frequently in a text corpus. Topics have been found to be effective tools for describing the major themes spanning a corpus. Using such topics to describe the evolution of a software system’s source code promises to be extremely useful for development tasks such as maintenance and re-engineering. However, no one has yet examined whether these automatically discovered topics accurately describe the evolution of source code, and thus it is not clear whether topic models are a suitable tool for this task. In this paper, we take a first step towards deter-mining the suitability of topic models in the analysis of software evolution by performing a qualitative case study on 12 releases of JHot Draw, a well studied and documented system. We define and compute various metrics on the identified topics and manually investigate how the metrics evolve over time. We find that topic evolutions are characterizable through spikes and drops in their metric values, and that the large majority of these spikes and drops are indeed caused by actual change activity in the source code. We are thus encouraged by the use of topic models as a tool for analyzing the evolution of software.","PeriodicalId":222204,"journal":{"name":"2010 10th IEEE Working Conference on Source Code Analysis and Manipulation","volume":"17 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2010-09-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"120959631","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}
引用次数: 87
New Conceptual Coupling and Cohesion Metrics for Object-Oriented Systems 面向对象系统耦合和内聚度量的新概念
2010 10th IEEE Working Conference on Source Code Analysis and Manipulation Pub Date : 2010-09-12 DOI: 10.1109/SCAM.2010.14
Bela Ujhazi, R. Ferenc, D. Poshyvanyk, T. Gyimóthy
{"title":"New Conceptual Coupling and Cohesion Metrics for Object-Oriented Systems","authors":"Bela Ujhazi, R. Ferenc, D. Poshyvanyk, T. Gyimóthy","doi":"10.1109/SCAM.2010.14","DOIUrl":"https://doi.org/10.1109/SCAM.2010.14","url":null,"abstract":"The paper presents two novel conceptual metrics for measuring coupling and cohesion in software systems. Our first metric, Conceptual Coupling between Object classes (CCBO), is based on the well-known CBO coupling metric, while the other metric, Conceptual Lack of Cohesion on Methods (CLCOM5), is based on the LCOM5 cohesion metric. One advantage of the proposed conceptual metrics is that they can be computed in a simpler (and in many cases, programming language independent) way as compared to some of the structural metrics. We empirically studied CCBO and CLCOM5 for predicting fault-proneness of classes in a large open source system and compared these metrics with a host of existing structural and conceptual metrics for the same task. As the result, we found that the proposed conceptual metrics, when used in conjunction, can predict bugs nearly as precisely as the 58 structural metrics available in the Columbus source code quality framework and can be effectively combined with these metrics to improve bug prediction.","PeriodicalId":222204,"journal":{"name":"2010 10th IEEE Working Conference on Source Code Analysis and Manipulation","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2010-09-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129018736","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
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学术官方微信