2009 IEEE International Conference on Software Maintenance最新文献

筛选
英文 中文
Incremental call graph reanalysis for AspectJ software AspectJ软件的增量调用图再分析
2009 IEEE International Conference on Software Maintenance Pub Date : 2009-10-30 DOI: 10.1109/ICSM.2009.5306311
Yu Lin, Sai Zhang, Jianjun Zhao
{"title":"Incremental call graph reanalysis for AspectJ software","authors":"Yu Lin, Sai Zhang, Jianjun Zhao","doi":"10.1109/ICSM.2009.5306311","DOIUrl":"https://doi.org/10.1109/ICSM.2009.5306311","url":null,"abstract":"Program call graph representation can be used to support many tasks in compiler optimization, program comprehension, and software maintenance. During software evolution, the call graph needs to remain fairly precise and be updated quickly in response to software changes. In this paper, we present an approach to incremental update, instead of exhaustive analysis of the initially constructed call graph in AspectJ software. Our approach first decomposes the source code edits between the updated and initial software versions into a set of atomic change representations, which capture the semantic differences. Then, we explore the relationship between atomic changes and call graph to incrementally update the initially constructed graph, instead of rebuilding it from the ground up. We implement the reanalysis approach on top of the ajc AspectJ compiler and perform an empirical study on 24 versions of eight AspectJ benchmarks. The experiment result shows that our approach can reduce a large portion of unnecessary reanalysis cost as program changes occur, and significant savings are observed for the incremental reconstruction of AspectJ call graph in comparison with an exhaustive analysis, with no loss in precision.","PeriodicalId":247441,"journal":{"name":"2009 IEEE International Conference on Software Maintenance","volume":"33 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2009-10-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124310711","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
Criteria for the evaluation of implemented architectures 评估已实现架构的标准
2009 IEEE International Conference on Software Maintenance Pub Date : 2009-10-30 DOI: 10.1109/ICSM.2009.5306330
Eric Bouwers, Joost Visser, A. Deursen
{"title":"Criteria for the evaluation of implemented architectures","authors":"Eric Bouwers, Joost Visser, A. Deursen","doi":"10.1109/ICSM.2009.5306330","DOIUrl":"https://doi.org/10.1109/ICSM.2009.5306330","url":null,"abstract":"Software architecture evaluation methods aim at identifying potential maintainability problems for a given architecture. Several of these methods exist, which typically prescribe the structure of the evaluation process. Often left implicit, however, are the concrete system attributes that need to be studied in order to assess the maintainability of implemented architectures. To determine this set of attributes, we have performed an empirical study on over 40 commercial architectural evaluations conducted during the past two years as part of a systematic “Software Risk Assessment”. We present this study and we explain how the identified attributes can be projected on various architectural system properties, which provides an overview of criteria for the evaluation of the maintainability of implemented software architectures.","PeriodicalId":247441,"journal":{"name":"2009 IEEE International Conference on Software Maintenance","volume":"19 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2009-10-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125041241","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
Detecting virus mutations via dynamic matching 通过动态匹配检测病毒突变
2009 IEEE International Conference on Software Maintenance Pub Date : 2009-10-30 DOI: 10.1109/ICSM.2009.5306329
Min Feng, Rajiv Gupta
{"title":"Detecting virus mutations via dynamic matching","authors":"Min Feng, Rajiv Gupta","doi":"10.1109/ICSM.2009.5306329","DOIUrl":"https://doi.org/10.1109/ICSM.2009.5306329","url":null,"abstract":"To defeat current commercial antivirus software, the virus developers are employing obfuscation techniques to create mutating viruses. The current antivirus software cannot handle the obfuscated viruses well since its detection methods that are based upon static signatures are not resilient to even slight variations in the code that forms the virus. In this paper, we propose a new type of virus signature, called dynamic signature, and an algorithm for matching dynamic signatures. Our dynamic signature is created based on the runtime behavior of a virus. Therefore, an obfuscated virus can also be detected using a dynamic signature as long as it dynamically behaves like the original virus. We also discuss issues related to deploying our virus detection approach. Our experiments based upon several known mutating viruses show that our method is effective in identifying obfuscated viruses.","PeriodicalId":247441,"journal":{"name":"2009 IEEE International Conference on Software Maintenance","volume":"3 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2009-10-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126857587","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
Searching and skimming: An exploratory study 搜索和略读:一项探索性研究
2009 IEEE International Conference on Software Maintenance Pub Date : 2009-10-30 DOI: 10.1109/ICSM.2009.5306335
J. Starke, Chris Luce, Jonathan Sillito
{"title":"Searching and skimming: An exploratory study","authors":"J. Starke, Chris Luce, Jonathan Sillito","doi":"10.1109/ICSM.2009.5306335","DOIUrl":"https://doi.org/10.1109/ICSM.2009.5306335","url":null,"abstract":"Source code search is an important activity for programmers working on a change task to a software system. As part of a larger project to improve tool support for finding information in source code, we conducted a formative study in which programmers were asked to perform corrective tasks to a system they were initially unfamiliar with. Our analysis focused specifically on how programmers decide what to search for, and how they decide which results are relevant to their task. Based on our analysis, we present five observations about our participant's approach to finding information and some of the challenges they faced. We also discuss the implications these observations have for the design of source code search tools.","PeriodicalId":247441,"journal":{"name":"2009 IEEE International Conference on Software Maintenance","volume":"12 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2009-10-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126128945","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}
引用次数: 78
Maintenance and agile development: Challenges, opportunities and future directions 维护与敏捷开发:挑战、机遇和未来方向
2009 IEEE International Conference on Software Maintenance Pub Date : 2009-10-30 DOI: 10.1109/ICSM.2009.5306278
G. Hanssen, A. Yamashita, R. Conradi, L. Moonen
{"title":"Maintenance and agile development: Challenges, opportunities and future directions","authors":"G. Hanssen, A. Yamashita, R. Conradi, L. Moonen","doi":"10.1109/ICSM.2009.5306278","DOIUrl":"https://doi.org/10.1109/ICSM.2009.5306278","url":null,"abstract":"Software entropy is a phenomenon where repeated changes gradually degrade the structure of the system, making it hard to understand and maintain. This phenomenon imposes challenges for organizations that have moved to agile methods from other processes, despite agile's focus on adaptability and responsiveness to change. We have investigated this issue through an industrial case study, and reviewed the literature on addressing software entropy, focussing on the detection of “code smells” and their treatment by refactoring. We found that in order to remain agile despite of software entropy, developers need better support for understanding, planning and testing the impact of changes. However, it is exactly work on refactoring decision support and task complexity analysis that is lacking in literature. Based on our findings, we discuss strategies for dealing with entropy in this context and present avenues for future research.","PeriodicalId":247441,"journal":{"name":"2009 IEEE International Conference on Software Maintenance","volume":"30 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2009-10-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125876248","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}
引用次数: 25
Object aware execution trace exploration 对象感知的执行跟踪探索
2009 IEEE International Conference on Software Maintenance Pub Date : 2009-09-20 DOI: 10.1109/ICSM.2009.5306320
Stefan Voigt, J. Bohnet, J. Döllner
{"title":"Object aware execution trace exploration","authors":"Stefan Voigt, J. Bohnet, J. Döllner","doi":"10.1109/ICSM.2009.5306320","DOIUrl":"https://doi.org/10.1109/ICSM.2009.5306320","url":null,"abstract":"To understand software systems it is common practice to explore runtime information such as method calls. System behavior analysis can further be facilitated by additionally taking runtime data dependencies into account. In object oriented systems, a typical data dependency is the information about which objects are accessed by the traced method calls. To support software engineers in handling the massive amount of information that execution traces typically consist of, highly scalable visualizations are needed. In this paper, we propose a trace-visualization technique that (a) explicitly visualizes both, method calls and object accesses, and (b) provides high scalability to handle large execution traces. With regard to the visualization technique proposed, we give a systematic overview of visual patterns that are to be expected and of their meanings with respect to system behavior. Additionally, we present the results of three case-studies to show how our approach facilitates developers in comprehending the behavior of complex C++ software systems.","PeriodicalId":247441,"journal":{"name":"2009 IEEE International Conference on Software Maintenance","volume":"84 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":"114836978","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
A combinatorial approach to building navigation graphs for dynamic web applications 为动态web应用程序构建导航图的组合方法
2009 IEEE International Conference on Software Maintenance Pub Date : 2009-09-20 DOI: 10.1109/ICSM.2009.5306321
Wenhua Wang, Yu Lei, S. Sampath, R. Kacker, D. R. Kuhn, James Lawrence
{"title":"A combinatorial approach to building navigation graphs for dynamic web applications","authors":"Wenhua Wang, Yu Lei, S. Sampath, R. Kacker, D. R. Kuhn, James Lawrence","doi":"10.1109/ICSM.2009.5306321","DOIUrl":"https://doi.org/10.1109/ICSM.2009.5306321","url":null,"abstract":"Modeling the navigation structure of a dynamic web application is a challenging task because of the presence of dynamic pages. In particular, there are two problems to be dealt with: (1) the page explosion problem, i.e., the number of dynamic pages may be huge or even infinite; and (2) the request generation problem, i.e., many dynamic pages may not be reached unless appropriate user requests are supplied. As a user request typically consists of multiple parameter values, the request generation problem can be further divided into two problems: (1) How to select appropriate values for individual parameters? (2) How to effectively combine individual parameter values to generate requests? This paper presents a combinatorial approach to building a navigation graph. The novelty of our approach is two-fold. First, we use an abstraction scheme to control the page explosion problem. In this scheme, pages that are likely to have the same navigation behavior are grouped together, and are represented as a single node in a navigation graph. Grouping pages reduces and bounds the size of a navigation graph for practical applications. Second, assuming that values of individual parameters are supplied by using other techniques or generated manually by the user, we combine parameter values in a way that achieves a well-defined combinatorial coverage called pairwise coverage. Using pairwise coverage can significantly reduce the number of requests that have to be submitted while still achieving effective coverage of the navigation structure. We report a prototype tool called Tansuo, and apply the tool to five open source web applications. Our empirical results indicate that Tansuo can efficiently generate web navigation graphs for these applications.","PeriodicalId":247441,"journal":{"name":"2009 IEEE International Conference on Software Maintenance","volume":"129 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":"126059209","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
Comparative analysis of evolving software systems using the Gini coefficient 用基尼系数对演化中的软件系统进行比较分析
2009 IEEE International Conference on Software Maintenance Pub Date : 2009-09-01 DOI: 10.1109/ICSM.2009.5306322
Rajesh Vasa, M. Lumpe, P. Branch, Oscar Nierstrasz
{"title":"Comparative analysis of evolving software systems using the Gini coefficient","authors":"Rajesh Vasa, M. Lumpe, P. Branch, Oscar Nierstrasz","doi":"10.1109/ICSM.2009.5306322","DOIUrl":"https://doi.org/10.1109/ICSM.2009.5306322","url":null,"abstract":"Software metrics offer us the promise of distilling useful information from vast amounts of software in order to track development progress, to gain insights into the nature of the software, and to identify potential problems. Unfortunately, however, many software metrics exhibit highly skewed, non-Gaussian distributions. As a consequence, usual ways of interpreting these metrics — for example, in terms of “average” values — can be highly misleading. Many metrics, it turns out, are distributed like wealth — with high concentrations of values in selected locations. We propose to analyze software metrics using the Gini coefficient, a higherorder statistic widely used in economics to study the distribution of wealth. Our approach allows us not only to observe changes in software systems efficiently, but also to assess project risks and monitor the development process itself. We apply the Gini coefficient to numerous metrics over a range of software projects, and we show that many metrics not only display remarkably high Gini values, but that these values are remarkably consistent as a project evolves over time.","PeriodicalId":247441,"journal":{"name":"2009 IEEE International Conference on Software Maintenance","volume":"45 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2009-09-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"134364761","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}
引用次数: 94
Expert recommendation with usage expertise 具有使用经验的专家建议
2009 IEEE International Conference on Software Maintenance Pub Date : 2009-09-01 DOI: 10.1109/ICSM.2009.5306386
David Ma, David Schuler, Thomas Zimmermann, Jonathan Sillito
{"title":"Expert recommendation with usage expertise","authors":"David Ma, David Schuler, Thomas Zimmermann, Jonathan Sillito","doi":"10.1109/ICSM.2009.5306386","DOIUrl":"https://doi.org/10.1109/ICSM.2009.5306386","url":null,"abstract":"Global and distributed software development increases the need to find and connect developers with relevant expertise. Existing recommendation systems typically model expertise based on file changes (implementation expertise). While these approaches have shown success, they require a substantial recorded history of development for a project. Previously, we have proposed the concept of usage expertise, i.e., expertise manifested through the act of calling (using) a method. In this paper, we assess the viability of this concept by evaluating expert recommendations for the ASPECTJ and ECLIPSE projects. We find that both usage and implementation expertise have comparable levels of accuracy, which suggests that usage expertise may be used as a substitute measure. We also find a notable overlap of method calls across both projects, which suggests that usage expertise can be leveraged to recommend experts from different projects and thus for projects with little or no history.","PeriodicalId":247441,"journal":{"name":"2009 IEEE International Conference on Software Maintenance","volume":"10 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2009-09-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130965574","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}
引用次数: 61
Regression model checking 回归模型检验
2009 IEEE International Conference on Software Maintenance Pub Date : 2009-09-01 DOI: 10.1109/ICSM.2009.5306334
Guowei Yang, Matthew B. Dwyer, G. Rothermel
{"title":"Regression model checking","authors":"Guowei Yang, Matthew B. Dwyer, G. Rothermel","doi":"10.1109/ICSM.2009.5306334","DOIUrl":"https://doi.org/10.1109/ICSM.2009.5306334","url":null,"abstract":"Model checking is a promising technique for verifying program behavior and is increasingly finding usage in industry. To date, however, researchers have primarily considered model checking of single versions of programs. It is well understood that model checking can be very expensive for large, complex programs. Thus, simply reapplying model checking techniques on subsequent versions of programs as they evolve, in the limited time that is typically available for validating new releases, presents challenges. To address these challenges, we have developed a new technique for regression model checking (RMC), that applies model checking incrementally to new versions of systems. We report results of an empirical study examining the effectiveness of our technique; our results show that it is significantly faster than traditional model checking.","PeriodicalId":247441,"journal":{"name":"2009 IEEE International Conference on Software Maintenance","volume":"28 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2009-09-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124079986","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}
引用次数: 73
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学术官方微信