2010 IEEE 18th International Conference on Program Comprehension最新文献

筛选
英文 中文
Aiding Software Maintenance with Copy-and-Paste Clone-Awareness 通过复制-粘贴克隆意识帮助软件维护
2010 IEEE 18th International Conference on Program Comprehension Pub Date : 2010-06-30 DOI: 10.1109/ICPC.2010.22
P. Jablonski, Daqing Hou
{"title":"Aiding Software Maintenance with Copy-and-Paste Clone-Awareness","authors":"P. Jablonski, Daqing Hou","doi":"10.1109/ICPC.2010.22","DOIUrl":"https://doi.org/10.1109/ICPC.2010.22","url":null,"abstract":"When programmers copy, paste, and then modify source code, the once-identical code fragments (code clones) can become indistinguishable as the software evolves over time. In this paper, we present three features of our software tool, a set of Eclipse plug-ins named CnP (CnP's clone visualization, CReN, and LexId), which aids the programmer during copy-and-paste programming. We believe that the clone-awareness that the tool provides can help programmers benefit from this clone information during debugging and modification tasks, develop software more efficiently, and prevent inconsistent identifier renaming within clones. We tested these hypotheses with a user study and present our results.","PeriodicalId":110667,"journal":{"name":"2010 IEEE 18th International Conference on Program Comprehension","volume":"106 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2010-06-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121129666","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
Utilizing Web Search Engines for Program Analysis 利用网络搜索引擎进行程序分析
2010 IEEE 18th International Conference on Program Comprehension Pub Date : 2010-06-30 DOI: 10.1109/ICPC.2010.26
D. Ratiu, L. Heinemann
{"title":"Utilizing Web Search Engines for Program Analysis","authors":"D. Ratiu, L. Heinemann","doi":"10.1109/ICPC.2010.26","DOIUrl":"https://doi.org/10.1109/ICPC.2010.26","url":null,"abstract":"Programming involves representing domain concepts by using programming abstractions. In object-oriented programs, concepts and relations of the business domain are represented as classes, attributes and methods. However, the concepts and relations that logically belong together are scattered across different modules, interleaved with technical concepts, and distorted due to implementation details. In this paper, we present an automatic method to identify logically related concepts and the relations among them. To achieve this, we systematically transform program identifiers into fragments of natural language sentences and check whether these sentence fragments are meaningful for humans. In order to automatically perform such checks, we use the World Wide Web as a knowledge base that contains a huge number of meaningful texts, and use the Google web search engine to validate the meaningfulness of these sentences. If the search engine returns a sufficient number of hits, we discovered a piece of knowledge in the code. By systematically applying this method, we obtain a condensed form of the knowledge embodied in the program which is an enabler for automatic analyses. We present our experience with several use-cases: (1) assessing the meaningfulness of identifiers, (2) extracting complex concepts from compound identifiers, (3) extracting a meaningful taxonomy from the class hierarchy, and (4) extracting complex conceptual relations from the code. We report on our observations during the analysis of real world Java code, discuss the limitations of our approach and sketch extension possibilities.","PeriodicalId":110667,"journal":{"name":"2010 IEEE 18th International Conference on Program Comprehension","volume":"42 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2010-06-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121802628","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
Recovering Traceability Links between Business Process and Software System Components 恢复业务流程和软件系统组件之间的可追溯性链接
2010 IEEE 18th International Conference on Program Comprehension Pub Date : 2010-06-30 DOI: 10.1109/ICPC.2010.54
Lerina Aversano, F. Marulli, M. Tortorella
{"title":"Recovering Traceability Links between Business Process and Software System Components","authors":"Lerina Aversano, F. Marulli, M. Tortorella","doi":"10.1109/ICPC.2010.54","DOIUrl":"https://doi.org/10.1109/ICPC.2010.54","url":null,"abstract":"The relationships existing between a business process and the supporting software system is a critical concern for the organizations, as it directly affects their performance. The research described in this paper is concerned with the use of information retrieval techniques to software maintenance and, in particular, to the problem of recovering traceability links between the business process models and the components of the supporting software system.","PeriodicalId":110667,"journal":{"name":"2010 IEEE 18th International Conference on Program Comprehension","volume":"32 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2010-06-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114330967","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
Featureous: A Tool for Feature-Centric Analysis of Java Software 功能:一个以功能为中心的Java软件分析工具
2010 IEEE 18th International Conference on Program Comprehension Pub Date : 2010-06-30 DOI: 10.1109/ICPC.2010.27
Andrzej Olszak, B. Jørgensen
{"title":"Featureous: A Tool for Feature-Centric Analysis of Java Software","authors":"Andrzej Olszak, B. Jørgensen","doi":"10.1109/ICPC.2010.27","DOIUrl":"https://doi.org/10.1109/ICPC.2010.27","url":null,"abstract":"Feature-centric comprehension of source code is necessary for incorporating user-requested modifications during software evolution and maintenance. However, such comprehension is difficult to achieve in case of large object-oriented programs due to the size, complexity, and implicit character of mappings between features and source code. To support programmers in overcoming these difficulties, we present a feature-centric analysis tool, Featureous. Our tool extends the NetBeans IDE with mechanisms for efficient location of feature implementations in legacy source code, and an extensive analysis of the discovered feature-code relations through a number of analytical views.","PeriodicalId":110667,"journal":{"name":"2010 IEEE 18th International Conference on Program Comprehension","volume":"19 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2010-06-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123518028","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
DepDigger: A Tool for Detecting Complex Low-Level Dependencies DepDigger:一个检测复杂的低级依赖关系的工具
2010 IEEE 18th International Conference on Program Comprehension Pub Date : 2010-06-30 DOI: 10.1109/ICPC.2010.52
Dirk Beyer, Ashgan Fararooy
{"title":"DepDigger: A Tool for Detecting Complex Low-Level Dependencies","authors":"Dirk Beyer, Ashgan Fararooy","doi":"10.1109/ICPC.2010.52","DOIUrl":"https://doi.org/10.1109/ICPC.2010.52","url":null,"abstract":"We present a tool that identifies complex data-flow dependencies on code-level, based on the measure dep-degree. Low-level dependencies between program operations are modeled by the use-def graph, which is generated from reaching definitions of variables. The tool annotates program operations with their dep-degree values, such that `difficult' program operations are easy to locate. We hope that this tool helps detecting and preventing code degeneration, which is often a challenge in today's software projects, due to the high refactoring and restructuring frequency.","PeriodicalId":110667,"journal":{"name":"2010 IEEE 18th International Conference on Program Comprehension","volume":"55 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2010-06-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129925312","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}
引用次数: 6
Influence of Synchronized Domain Visualizations on Program Comprehension 同步领域可视化对程序理解的影响
2010 IEEE 18th International Conference on Program Comprehension Pub Date : 2010-06-30 DOI: 10.1109/ICPC.2010.21
Nuno Oliveira, M. Pereira, Daniela Carneiro da Cruz, M. Beron
{"title":"Influence of Synchronized Domain Visualizations on Program Comprehension","authors":"Nuno Oliveira, M. Pereira, Daniela Carneiro da Cruz, M. Beron","doi":"10.1109/ICPC.2010.21","DOIUrl":"https://doi.org/10.1109/ICPC.2010.21","url":null,"abstract":"An effective program comprehension is reached when it is possible to view and relate what happens when the program is executed, synchronized with its effects in the real world concepts. This enables the interconnection of program’s meaning at both problem and program domains. To sustain this statement we need (i) to develop a tool which provides and synchronizes views at both domains, and (ii) to perform an experiment to measure the actual impact of this approach. So, in this working session we aim at discussing the benefits of providing synchronized domain visualizations. We also envisage to discuss the preparation and conduction of appropriate experiments that will test that benefits. A case study will be used and the discussion will be supported by experimental material specially prepared for the occasion, but adapted from material already used in previous experiments.","PeriodicalId":110667,"journal":{"name":"2010 IEEE 18th International Conference on Program Comprehension","volume":"100 6 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2010-06-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122883585","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
An Exploratory Study of Factors Influencing Change Entropy 变化熵影响因素的探索性研究
2010 IEEE 18th International Conference on Program Comprehension Pub Date : 2010-06-30 DOI: 10.1109/ICPC.2010.32
G. Canfora, L. Cerulo, M. D. Penta, Francesco Pacilio
{"title":"An Exploratory Study of Factors Influencing Change Entropy","authors":"G. Canfora, L. Cerulo, M. D. Penta, Francesco Pacilio","doi":"10.1109/ICPC.2010.32","DOIUrl":"https://doi.org/10.1109/ICPC.2010.32","url":null,"abstract":"Software systems continuously change for various reasons, such as adding new features, performing bug fixing, or doing some refactoring activities. Such changes may either increase the source code complexity and disorganization, or help to reduce it. Developers apply adequate design principles and assets, including design patterns, to make software resilient to changes and control complexity. This paper empirically investigates the relationship of source code complexity and disorganization-measured using source code entropy-with three factors: different kinds of changes occurring to software systems, the presence of design patterns in the source code, and the number of contributors that modified the source code file. Results of an exploratory study carried out on an interval of the life-time span of two open source systems, ArgoUML and Eclipse-JDT, suggest that (i) different kinds of changes-namely refactorings and other kinds of changes-may contribute either negatively or positively to the entropy, (ii) the use of design patterns does not necessarily help to mitigate code degradation-thus confirming previous findings on the role played by design patterns-and (iii) entropy tends to increase with the number of file committers.","PeriodicalId":110667,"journal":{"name":"2010 IEEE 18th International Conference on Program Comprehension","volume":"46 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2010-06-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124390278","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
Unibench: A Tool for Automated and Collaborative Benchmarking Unibench:自动化和协作基准测试的工具
2010 IEEE 18th International Conference on Program Comprehension Pub Date : 2010-06-30 DOI: 10.1109/ICPC.2010.36
Daniel Rolls, C. Joslin, S. Scholz
{"title":"Unibench: A Tool for Automated and Collaborative Benchmarking","authors":"Daniel Rolls, C. Joslin, S. Scholz","doi":"10.1109/ICPC.2010.36","DOIUrl":"https://doi.org/10.1109/ICPC.2010.36","url":null,"abstract":"We have identified the need for a universal benchmarking tool that enforces consistency as well as proper documentation. Enforcing these aspects without restricting the tool's applicability poses a major challenge. This paper introduces a tool for coordinating the running of experiments on remote machines. A simple web interface allows for source code to be submitted. Experiments are run and results are publicly disseminated via a web interface without user intervention. The system has already enabled sharing of resources internationally and good scientific inquiry.","PeriodicalId":110667,"journal":{"name":"2010 IEEE 18th International Conference on Program Comprehension","volume":"197 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2010-06-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"134432562","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
Using the Kleinberg Algorithm and Vector Space Model for Software System Clustering Kleinberg算法与向量空间模型在软件系统聚类中的应用
2010 IEEE 18th International Conference on Program Comprehension Pub Date : 2010-06-30 DOI: 10.1109/ICPC.2010.17
G. Scanniello, Anna D'Amico, Carmela D'Amico, Teodora D'Amico
{"title":"Using the Kleinberg Algorithm and Vector Space Model for Software System Clustering","authors":"G. Scanniello, Anna D'Amico, Carmela D'Amico, Teodora D'Amico","doi":"10.1109/ICPC.2010.17","DOIUrl":"https://doi.org/10.1109/ICPC.2010.17","url":null,"abstract":"Clustering based approaches are generally difficult to use in practice since they need a significant human interaction for recovering software architectures, are conceived for a specific programming language, and very often do not use design knowledge (e.g., the implemented architectural model). In this paper we present a clustering based approach to recover the implemented architecture of software systems with a hierarchical structure and implemented with any object oriented programming language. The approach is based on the combination of structural and lexical dimensions. The structural dimension is used to decompose a software system into layers (i.e., horizontal decomposition), while the lexical dimension is then employed to partition each layer (i.e., vertical decomposition) into software modules. Layers are identified using a well known and widely employed link analysis algorithm, i.e., the Kleinberg algorithm, while Vector Space Model is used to vertically decompose the layers. To assess the approach and the underlying techniques, we also present a prototype of a supporting tool and the results from a case study conducted on subsequent versions of three open source Java software systems.","PeriodicalId":110667,"journal":{"name":"2010 IEEE 18th International Conference on Program Comprehension","volume":"90 3 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2010-06-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132790736","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
Multi-touch for Software Exploration 软件探索的多点触控
2010 IEEE 18th International Conference on Program Comprehension Pub Date : 2010-06-30 DOI: 10.1109/ICPC.2010.30
Sandro Boccuzzo, H. Gall
{"title":"Multi-touch for Software Exploration","authors":"Sandro Boccuzzo, H. Gall","doi":"10.1109/ICPC.2010.30","DOIUrl":"https://doi.org/10.1109/ICPC.2010.30","url":null,"abstract":"The design of software systems is often so intricate that no individual can grasp the whole picture. Multi-Touch screen technology combined with 3D software visualization offers a way for software engineers to interact with a software system in an intuitive way. In this paper we present first results on how such emerging technologies can be used to explore software systems.","PeriodicalId":110667,"journal":{"name":"2010 IEEE 18th International Conference on Program Comprehension","volume":"8 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2010-06-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129871901","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
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学术官方微信