2010 IEEE International Conference on Software Maintenance最新文献

筛选
英文 中文
Automatically repairing test cases for evolving method declarations 自动修复演进方法声明的测试用例
2010 IEEE International Conference on Software Maintenance Pub Date : 2010-09-12 DOI: 10.1109/ICSM.2010.5609549
Mehdi MirzaAghaei, F. Pastore, M. Pezzè
{"title":"Automatically repairing test cases for evolving method declarations","authors":"Mehdi MirzaAghaei, F. Pastore, M. Pezzè","doi":"10.1109/ICSM.2010.5609549","DOIUrl":"https://doi.org/10.1109/ICSM.2010.5609549","url":null,"abstract":"When software systems evolve, for example due to fault fixes, modification of functionalities or refactoring activities, test cases may become obsolete thus generating wrong results or even not being executable or compilable. Maintaining test cases is expensive and time consuming, and often test cases are discarded by software developers due to high maintenance costs. This paper presents TestCareAssistant, a technique that combines data-flow analysis with program diffing for automatically repairing test cases that become obsolete because of changes in method declarations (addition, removal, or type modification of parameters or return values). The paper illustrates the efficacy of TestCareAssistant by analyzing the impact of method declarations changes on the executability of test cases, and by presenting the preliminary results of applying TestCareAssistant to repair 22 test cases.","PeriodicalId":101801,"journal":{"name":"2010 IEEE International Conference on Software Maintenance","volume":"9 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":"114885680","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}
引用次数: 33
A human study of fault localization accuracy 故障定位精度的人工研究
2010 IEEE International Conference on Software Maintenance Pub Date : 2010-09-12 DOI: 10.1109/ICSM.2010.5609691
Zachary P. Fry, Westley Weimer
{"title":"A human study of fault localization accuracy","authors":"Zachary P. Fry, Westley Weimer","doi":"10.1109/ICSM.2010.5609691","DOIUrl":"https://doi.org/10.1109/ICSM.2010.5609691","url":null,"abstract":"Localizing and repairing defects are critical software engineering activities. Not all programs and not all bugs are equally easy to debug, however. We present formal models, backed by a human study involving 65 participants (from both academia and industry) and 1830 total judgments, relating various software- and defect-related features to human accuracy at locating errors. Our study involves example code from Java textbooks, helping us to control for both readability and complexity. We find that certain types of defects are much harder for humans to locate accurately. For example, humans are over five times more accurate at locating “extra statements” than “missing statements” based on experimental observation. We also find that, independent of the type of defect involved, certain code contexts are harder to debug than others. For example, humans are over three times more accurate at finding defects in code that provides an array abstraction than in code that provides a tree abstraction. We identify and analyze code features that are predictive of human fault localization accuracy. Finally, we present a formal model of debugging accuracy based on those source code features that have a statistically significant correlation with human performance.","PeriodicalId":101801,"journal":{"name":"2010 IEEE International Conference on Software Maintenance","volume":"33 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":"116733636","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}
引用次数: 50
Automatic verification of loop invariants 循环不变量的自动验证
2010 IEEE International Conference on Software Maintenance Pub Date : 2010-09-12 DOI: 10.1109/ICSM.2010.5609573
Olivier Ponsini, Hélène Collavizza, Carine Fédèle, C. Michel, M. Rueher
{"title":"Automatic verification of loop invariants","authors":"Olivier Ponsini, Hélène Collavizza, Carine Fédèle, C. Michel, M. Rueher","doi":"10.1109/ICSM.2010.5609573","DOIUrl":"https://doi.org/10.1109/ICSM.2010.5609573","url":null,"abstract":"Loop invariants play a major role in program verification. Though various techniques have been applied to automatic loop invariants generation, most interesting ones often generate only candidate invariants. Thus, a key issue to take advantage of these invariants in a verification process is to check that these candidate loop invariants are actual invariants. This paper introduces a new technique based on constraint programming for automatic verification of inductive loop invariants. This approach is efficient to detect spurious invariants and is also able to verify valid invariants under boundedness restrictions. First experiments on classical benchmarks are very promising.","PeriodicalId":101801,"journal":{"name":"2010 IEEE International Conference on Software Maintenance","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":"129808288","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
Software modularization operators 软件模块化操作员
2010 IEEE International Conference on Software Maintenance Pub Date : 2010-09-12 DOI: 10.1109/ICSM.2010.5609546
Girish Maskeri Rama, Naineet Patel
{"title":"Software modularization operators","authors":"Girish Maskeri Rama, Naineet Patel","doi":"10.1109/ICSM.2010.5609546","DOIUrl":"https://doi.org/10.1109/ICSM.2010.5609546","url":null,"abstract":"There exists a number of large business critical software systems written in newer languages such as C and Java that are fast becoming legacy and increasingly difficult to maintain. Unlike older monolithic systems, where modularization primarily involves splitting the monolithic code base into modules, for such newer systems which already have some basic modular structure, code decomposition is only one of the many possible activities. Even though the area of software modularization has received considerable attention over these past years, there are hardly any case studies documented in literature on modularizing large C and Java systems. We still do not fully comprehend the activities experienced developers perform when they have to modularize such newer systems. The goal of this paper is to learn from past software modularization projects and identify common recurring patterns. This paper formalizes 6 such patterns, which we term as modularization operators, that are likely to be the basic building blocks of any software modularization activity. The operators presented in this paper are validated using modularization case studies of open source software systems and a proprietary software system and several observations and insights are presented.","PeriodicalId":101801,"journal":{"name":"2010 IEEE International Conference on Software Maintenance","volume":"35 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":"129170138","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
Exploring the impact of context sensitivity on blended analysis 探讨上下文敏感性对混合分析的影响
2010 IEEE International Conference on Software Maintenance Pub Date : 2010-09-12 DOI: 10.1109/ICSM.2010.5609695
M. Fisher, Bruno Dufour, Shrutarshi Basu, B. Ryder
{"title":"Exploring the impact of context sensitivity on blended analysis","authors":"M. Fisher, Bruno Dufour, Shrutarshi Basu, B. Ryder","doi":"10.1109/ICSM.2010.5609695","DOIUrl":"https://doi.org/10.1109/ICSM.2010.5609695","url":null,"abstract":"This paper explores the use of context sensitivity both intra- and interprocedurally in a blended (static/dynamic) program analysis for identifying source of object churn in framework-intensive Web-based applications. Empirical experiments with an existing blended analysis algorithm [10] compare combinations of (i) use of a context-insensitive call graph with a context-sensitive calling context tree, and (ii) use (or not) of context-sensitive code pruning within methods. These experiments demonstrate achievable gains in scalability and performance in terms of several metrics designed for blended escape analysis, and report results in terms of object instances created, to allow more realistic conclusions from the data than were possible previously.","PeriodicalId":101801,"journal":{"name":"2010 IEEE International Conference on Software Maintenance","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":"130598715","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
Extracting reusable services from legacy object-oriented systems 从遗留的面向对象系统中提取可重用服务
2010 IEEE International Conference on Software Maintenance Pub Date : 2010-09-12 DOI: 10.1109/ICSM.2010.5609744
L. Bao, Chao Yin, Weigang He, Jun Ge, Ping Chen
{"title":"Extracting reusable services from legacy object-oriented systems","authors":"L. Bao, Chao Yin, Weigang He, Jun Ge, Ping Chen","doi":"10.1109/ICSM.2010.5609744","DOIUrl":"https://doi.org/10.1109/ICSM.2010.5609744","url":null,"abstract":"Migrating legacy object-oriented system functionalities to SOA environment is a important problem that frequently arises in many system maintenance and integration tasks. A service is often implemented by complex collaborations of many objects in an object-oriented system. Such complexity brings impedance mismatch between service and object. Moreover, the delocalized nature of object-oriented system, where the code associated with a service is distributed across many interrelated objects, make this problem even more challenging. This paper presents a four-staged approach that extracts services from legacy object-oriented systems with source code and documents. In the first stage source code of legacy system is loaded and preprocessed to form different modules according to the explicit dependencies among classes. While preprocessing, some aspect code is also embedded to intercept and log execution traces of system as well as to store states of involved objects. In the second stage, services, which represent system-level business functionalities, are modeled with use cases. Useful test cases are in turn generated from these use cases to identify services. In the third stage, the modularized and intercepted system is executed driven by generated test cases and the execution logs and object states are recorded. In the last stage, services are located and extracted by analyzing the execution logs and restoring the object states. The approach is supported by an integrated tool and the evaluation on five open-source systems yields encouraging result and demonstrates the practical applicability of the approach.","PeriodicalId":101801,"journal":{"name":"2010 IEEE International Conference on Software Maintenance","volume":"448 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":"114958949","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
Log filtering and interpretation for root cause analysis 日志过滤和解释根本原因分析
2010 IEEE International Conference on Software Maintenance Pub Date : 2010-09-12 DOI: 10.1109/ICSM.2010.5609556
Hamzeh Zawawy, K. Kontogiannis, J. Mylopoulos
{"title":"Log filtering and interpretation for root cause analysis","authors":"Hamzeh Zawawy, K. Kontogiannis, J. Mylopoulos","doi":"10.1109/ICSM.2010.5609556","DOIUrl":"https://doi.org/10.1109/ICSM.2010.5609556","url":null,"abstract":"Problem diagnosis in large software systems is a challenging and complex task. The sheer complexity and size of the logged data make it often difficult for human operators and administrators to perform problem diagnosis and root cause analysis. A challenge in this area is to provide the necessary means, tools, and techniques for the operators to focus their attention to specific parts of the logged data reducing thus the complexity of the diagnostic process. In this paper, we propose a framework for filtering logs according to specific analysis goals and diagnostic hypotheses set by the user or by an automated process. More specifically, the proposed framework uses annotated goal trees to model the constraints and the conditions by which the functionality of a particular system is being delivered. Next, a transformation process maps such constraints and conditions to a collection of queries that can be either applied to a relational database that stores the logged data or use Latent Semantic Indexing to identify the most relevant log entries for the given query. The results of such queries provide a subset of the logged data that is compliant with the goal tree and can be used by a diagnostic SAT-solver based algorithm. Experimental results show that the filtering process can reduce the time and complexity of the diagnosis when applied to multitier heterogeneous service oriented systems.","PeriodicalId":101801,"journal":{"name":"2010 IEEE International Conference on Software Maintenance","volume":"26 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":"126154739","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
Model-driven detection of Design Patterns 模型驱动的设计模式检测
2010 IEEE International Conference on Software Maintenance Pub Date : 2010-09-12 DOI: 10.1109/ICSM.2010.5609740
M. Bernardi, G. D. Lucca
{"title":"Model-driven detection of Design Patterns","authors":"M. Bernardi, G. D. Lucca","doi":"10.1109/ICSM.2010.5609740","DOIUrl":"https://doi.org/10.1109/ICSM.2010.5609740","url":null,"abstract":"Tracing source code elements of an existing Object Oriented software system to the components of a Design Pattern is a key step in program comprehension or re-engineering. It helps, mainly for legacy systems, to discover the main design decisions and trade-offs that are often not documented. In this paper an approach is presented to automatically detect Design Patterns in existing Object Oriented systems by tracing system's source code components to the roles they play in the Patterns. Design Patterns are modelled by high level structural Properties (e.g. inheritance, dependency, invocation, delegation, type nesting and membership relationships) that are checked, by source code parsing, against the system structure and components. The approach allows to detect also Pattern variants, defined by overriding the Pattern structural properties. The approach was applied to some open-source systems to validate it. Results on the detected patterns, discovered variants and on the overall quality of the approach are provided and discussed.","PeriodicalId":101801,"journal":{"name":"2010 IEEE International Conference on Software Maintenance","volume":"24 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":"129495302","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
Revisiting common bug prediction findings using effort-aware models 使用努力感知模型回顾常见的bug预测结果
2010 IEEE International Conference on Software Maintenance Pub Date : 2010-09-12 DOI: 10.1109/ICSM.2010.5609530
Yasutaka Kamei, S. Matsumoto, Akito Monden, Ken-ichi Matsumoto, Bram Adams, A. Hassan
{"title":"Revisiting common bug prediction findings using effort-aware models","authors":"Yasutaka Kamei, S. Matsumoto, Akito Monden, Ken-ichi Matsumoto, Bram Adams, A. Hassan","doi":"10.1109/ICSM.2010.5609530","DOIUrl":"https://doi.org/10.1109/ICSM.2010.5609530","url":null,"abstract":"Bug prediction models are often used to help allocate software quality assurance efforts (e.g. testing and code reviews). Mende and Koschke have recently proposed bug prediction models that are effort-aware. These models factor in the effort needed to review or test code when evaluating the effectiveness of prediction models, leading to more realistic performance evaluations. In this paper, we revisit two common findings in the bug prediction literature: 1) Process metrics (e.g., change history) outperform product metrics (e.g., LOC), 2) Package-level predictions outperform file-level predictions. Through a case study on three projects from the Eclipse Foundation, we find that the first finding holds when effort is considered, while the second finding does not hold. These findings validate the practical significance of prior findings in the bug prediction literature and encourage their adoption in practice.","PeriodicalId":101801,"journal":{"name":"2010 IEEE International Conference on Software Maintenance","volume":"85 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":"129516810","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}
引用次数: 204
MAGISTER: Quality assurance of Magic applications for software developers and end users MAGISTER:为软件开发人员和最终用户提供Magic应用程序的质量保证
2010 IEEE International Conference on Software Maintenance Pub Date : 2010-09-12 DOI: 10.1109/ICSM.2010.5609550
Csaba Nagy, László Vidács, R. Ferenc, T. Gyimóthy, Ferenc Kocsis, István Kovács
{"title":"MAGISTER: Quality assurance of Magic applications for software developers and end users","authors":"Csaba Nagy, László Vidács, R. Ferenc, T. Gyimóthy, Ferenc Kocsis, István Kovács","doi":"10.1109/ICSM.2010.5609550","DOIUrl":"https://doi.org/10.1109/ICSM.2010.5609550","url":null,"abstract":"Nowadays there are many tools and methods available for source code quality assurance based on static analysis, but most of these tools focus on traditional software development techniques with 3GL languages. Besides procedural languages, 4GL programming languages such as Magic 4GL and Progress are widely used for application development. All these languages lie outside the main scope of analysis techniques. In this paper we present MAGISTER, which is a quality assurance framework for applications being developed in Magic, a 4GL application development solution created by Magic Software Enterprises. MAGISTER extracts data using static analysis methods from applications being developed in different versions of Magic (v5-9 and uniPaaS). The extracted data (including metrics, rule violations and dependency relations) is presented to the user via a GUI so it can be queried and visualized for further analysis. It helps software developers, architects and managers through the full development cycle by performing continuous code scans and measurements.","PeriodicalId":101801,"journal":{"name":"2010 IEEE International Conference on Software Maintenance","volume":"52 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":"121209666","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}
引用次数: 13
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学术官方微信