2013 17th European Conference on Software Maintenance and Reengineering最新文献

筛选
英文 中文
Supplying Compiler's Static Compatibility Checks by the Analysis of Third-Party Libraries 通过分析第三方库提供编译器的静态兼容性检查
2013 17th European Conference on Software Maintenance and Reengineering Pub Date : 2013-03-05 DOI: 10.1109/CSMR.2013.53
Kamil Jezek, Lukas Holy, Přemek Brada
{"title":"Supplying Compiler's Static Compatibility Checks by the Analysis of Third-Party Libraries","authors":"Kamil Jezek, Lukas Holy, Přemek Brada","doi":"10.1109/CSMR.2013.53","DOIUrl":"https://doi.org/10.1109/CSMR.2013.53","url":null,"abstract":"Statically typed languages and their compile time checks prevent a lot of runtime errors thanks to type mismatches detection, namely calls of incompatible methods. Since current applications typically include tens of already compiled third-party libraries, the compile checks are powerless to detect their mutual dependencies. However, the calls among third-party library methods are not less error prone due to bugs or wrong library usage. These all lead to runtime failures. In this paper, we describe a partial solution to this problem based on the static analysis of third-party libraries and verification of their dependencies. This verification is invoked as the application is compiled and assembled, essentially supplying the compiler detecting errors before the application runs. This approach promises improved error detection of complex applications on the static type checking level.","PeriodicalId":309343,"journal":{"name":"2013 17th European Conference on Software Maintenance and Reengineering","volume":"15 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2013-03-05","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128505182","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
Reordering Program Statements for Improving Readability 重新排序程序语句以提高可读性
2013 17th European Conference on Software Maintenance and Reengineering Pub Date : 2013-03-05 DOI: 10.1109/CSMR.2013.50
Yui Sasaki, Yoshiki Higo, S. Kusumoto
{"title":"Reordering Program Statements for Improving Readability","authors":"Yui Sasaki, Yoshiki Higo, S. Kusumoto","doi":"10.1109/CSMR.2013.50","DOIUrl":"https://doi.org/10.1109/CSMR.2013.50","url":null,"abstract":"In order to understand source code, humans sometimes execute the program in their mind. When they illustrate the program execution in their mind, it is necessary to memorize what values all the variables are along with the execution. If there are many variables in the program, it is hard to their memorization. However, it is possible to ease to memorize them by shortening the distance between the definition of a variable and its reference if they are separated in the source code. This paper proposes a technique reordering statements in a module by considering how far the definition of a variable is from its references. We applied the proposed technique to a Java OSS and collected human evaluations for the reordered methods. As a result, we could confirm that the reordered methods had better readability than their originals. Moreover, we obtained some knowledge of human consideration about the order of statements.","PeriodicalId":309343,"journal":{"name":"2013 17th European Conference on Software Maintenance and Reengineering","volume":"18 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2013-03-05","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115368336","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
Understanding Widespread Changes: A Taxonomic Study 理解广泛的变化:一项分类学研究
2013 17th European Conference on Software Maintenance and Reengineering Pub Date : 2013-03-05 DOI: 10.1109/CSMR.2013.11
Shaowei Wang, D. Lo, Lingxiao Jiang
{"title":"Understanding Widespread Changes: A Taxonomic Study","authors":"Shaowei Wang, D. Lo, Lingxiao Jiang","doi":"10.1109/CSMR.2013.11","DOIUrl":"https://doi.org/10.1109/CSMR.2013.11","url":null,"abstract":"Many active research studies in software engineering, such as detection of recurring bug fixes, detection of copy-and-paste bugs, and automated program transformation tools, are motivated by the assumption that many code changes (e.g., changing an identifier name) in software systems are widespread to many locations and are similar to one another. However, there is no study so far that actually analyzes widespread changes in software systems. Understanding the nature of widespread changes could empirically support the assumption, which provides insight to improve the research studies and related tools. Our study in this paper addresses such a need. We propose a semi-automated approach that recovers code changes involving widespread changes in software systems. We further manually analyze more than nine hundred widespread changes recovered from eight software systems and categorize them into 11 families. These widespread changes and their associated families help us understand better why these widespread changes are made.","PeriodicalId":309343,"journal":{"name":"2013 17th European Conference on Software Maintenance and Reengineering","volume":"11 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2013-03-05","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123891017","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}
引用次数: 15
Incremental Feature Location and Identification in Source Code 源代码中的增量特征定位和识别
2013 17th European Conference on Software Maintenance and Reengineering Pub Date : 2013-03-05 DOI: 10.1109/CSMR.2013.52
H. Kazato, Shinpei Hayashi, Takashi Kobayashi, T. Oshima, Satoshi Okada, S. Miyata, T. Hoshino, M. Saeki
{"title":"Incremental Feature Location and Identification in Source Code","authors":"H. Kazato, Shinpei Hayashi, Takashi Kobayashi, T. Oshima, Satoshi Okada, S. Miyata, T. Hoshino, M. Saeki","doi":"10.1109/CSMR.2013.52","DOIUrl":"https://doi.org/10.1109/CSMR.2013.52","url":null,"abstract":"Feature location (FL) in source code is an important task for program understanding. Existing dynamic FL techniques depend on sufficient scenarios for exercising the features to be located. However, it is difficult to prepare such scenarios because it involves a correct understanding of the features. This paper proposes an incremental technique for refining the identification of features integrated with the existing FL technique using formal concept analysis. In our technique, we classify the differences of static and dynamic dependencies of method invocations based on their relevance to the identified features. According to the classification, the technique suggests method invocations to exercise unexplored part of the features. An application example indicates the effectiveness of the approach.","PeriodicalId":309343,"journal":{"name":"2013 17th European Conference on Software Maintenance and Reengineering","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2013-03-05","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130025059","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
Using Version Control History to Follow the Changes of Source Code Elements 使用版本控制历史记录跟踪源代码元素的更改
2013 17th European Conference on Software Maintenance and Reengineering Pub Date : 2013-03-05 DOI: 10.1109/CSMR.2013.40
Z. Tóth, Gabor Novak, R. Ferenc, István Siket
{"title":"Using Version Control History to Follow the Changes of Source Code Elements","authors":"Z. Tóth, Gabor Novak, R. Ferenc, István Siket","doi":"10.1109/CSMR.2013.40","DOIUrl":"https://doi.org/10.1109/CSMR.2013.40","url":null,"abstract":"Version control systems store the whole history of the source code. Since the source code of a system is organized into files and folders, the history tells us the concerned files and their changed lines only but software engineers are also interested in which source code elements (e.g. classes or methods) are affected by a change. Unfortunately, in most programming languages source code elements do not follow the file system hierarchy, which means that a file can contain more classes and methods and a class can be stored in more files, which makes it difficult to determine the changes of classes by using the changes of files. To solve this problem we developed an algorithm, which is able to follow the changes of the source code elements by using the changes of files and we successfully applied it on the Web Kit open source system.","PeriodicalId":309343,"journal":{"name":"2013 17th European Conference on Software Maintenance and Reengineering","volume":"6 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2013-03-05","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130922761","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
What Do the Asserts in a Unit Test Tell Us about Code Quality? A Study on Open Source and Industrial Projects 单元测试中的断言告诉我们关于代码质量的什么?开源与工业项目研究
2013 17th European Conference on Software Maintenance and Reengineering Pub Date : 2013-03-05 DOI: 10.1109/CSMR.2013.21
M. Aniche, G. Oliva, M. Gerosa
{"title":"What Do the Asserts in a Unit Test Tell Us about Code Quality? A Study on Open Source and Industrial Projects","authors":"M. Aniche, G. Oliva, M. Gerosa","doi":"10.1109/CSMR.2013.21","DOIUrl":"https://doi.org/10.1109/CSMR.2013.21","url":null,"abstract":"Unit tests and production code are intrinsically connected. A class that is easy to test usually presents desirable characteristics, such as low coupling and high cohesion. Thus, finding hard-to-test classes may help developers identify problematic code. Many different test feedbacks that warn developers about problematic code were already catalogued. In this paper, we argue that analyzing assert instructions in unit tests also aid in identifying and reasoning about potentially problematic pieces of code. We report an analysis conducted with both open source and industry projects relating assert instructions in a unit test with quality measures of the code being tested. We observed that when a production method has a unit test that uses the \"assert\" instruction in more than one object instance, it often exhibits higher cyclomatic complexity, number of lines of code, or higher number of method invocations. It means that developers should monitor the number of asserts in a unit test as it may indicate problems in the production code.","PeriodicalId":309343,"journal":{"name":"2013 17th European Conference on Software Maintenance and Reengineering","volume":"30 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2013-03-05","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131457921","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}
引用次数: 22
Relating Clusterization Measures and Software Quality 相关的集群度量和软件质量
2013 17th European Conference on Software Maintenance and Reengineering Pub Date : 2013-03-05 DOI: 10.1109/CSMR.2013.46
Béla Csaba, L. Schrettner, Árpád Beszédes, J. Jász, Péter Hegedüs, T. Gyimóthy
{"title":"Relating Clusterization Measures and Software Quality","authors":"Béla Csaba, L. Schrettner, Árpád Beszédes, J. Jász, Péter Hegedüs, T. Gyimóthy","doi":"10.1109/CSMR.2013.46","DOIUrl":"https://doi.org/10.1109/CSMR.2013.46","url":null,"abstract":"Empirical studies have shown that dependence clusters are both prevalent in source code and detrimental to many activities related to software, including maintenance, testing and comprehension. Based on such observations, it would be worthwhile to try to give a more precise characterization of the connection between dependence clusters and software quality. Such attempts are hindered by a number of difficulties: there are problems in assessing the quality of software, measuring the degree of clusterization of software and finding the means to exhibit the connection (or lack of it) between the two. In this paper we present our approach to establish a connection between software quality and clusterization. Software quality models comprise of low- and high-level quality attributes, in addition we defined new clusterization metrics that give a concise characterization of the clusters contained in programs. Apart from calculating correlation coefficients, we used mutual information to quantify the relationship between clusterization and quality. Results show that a connection can be demonstrated between the two, and that mutual information combined with correlation can be a better indicator to conduct deeper examinations in the area.","PeriodicalId":309343,"journal":{"name":"2013 17th European Conference on Software Maintenance and Reengineering","volume":"68 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2013-03-05","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128381140","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
Empirical Evaluation of Bug Linking Bug链接的实证评价
2013 17th European Conference on Software Maintenance and Reengineering Pub Date : 2013-03-05 DOI: 10.1109/CSMR.2013.19
Tegawendé F. Bissyandé, Ferdian Thung, Shaowei Wang, D. Lo, Lingxiao Jiang, Laurent Réveillère
{"title":"Empirical Evaluation of Bug Linking","authors":"Tegawendé F. Bissyandé, Ferdian Thung, Shaowei Wang, D. Lo, Lingxiao Jiang, Laurent Réveillère","doi":"10.1109/CSMR.2013.19","DOIUrl":"https://doi.org/10.1109/CSMR.2013.19","url":null,"abstract":"To collect software bugs found by users, development teams often set up bug trackers using systems such as Bugzilla. Developers would then fix some of the bugs and commit corresponding code changes into version control systems such as svn or git. Unfortunately, the links between bug reports and code changes are missing for many software projects as the bug tracking and version control systems are often maintained separately. Yet, linking bug reports to fix commits is important as it could shed light into the nature of bug fixing processes and expose patterns in software management. Bug linking solutions, such as ReLink, have been proposed. The demonstration of their effectiveness however faces a number of issues, including a reliability issue with their ground truth datasets as well as the extent of their measurements. We propose in this study a benchmark for evaluating bug linking solutions. This benchmark includes a dataset of about 12,000 bug links from 10 programs. These true links between bug reports and their fixes have been provided during bug fixing processes. We designed a number of research questions, to assess both quantitatively and qualitatively the effectiveness of a bug linking tool. Finally, we apply this benchmark on ReLink to report the strengths and limitations of this bug linking tool.","PeriodicalId":309343,"journal":{"name":"2013 17th European Conference on Software Maintenance and Reengineering","volume":"26 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2013-03-05","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116674879","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}
引用次数: 75
Predicting Project Outcome Leveraging Socio-Technical Network Patterns 利用社会技术网络模式预测项目结果
2013 17th European Conference on Software Maintenance and Reengineering Pub Date : 2013-03-05 DOI: 10.1109/CSMR.2013.15
Didi Surian, Yuan Tian, D. Lo, Hong Cheng, Ee-Peng Lim
{"title":"Predicting Project Outcome Leveraging Socio-Technical Network Patterns","authors":"Didi Surian, Yuan Tian, D. Lo, Hong Cheng, Ee-Peng Lim","doi":"10.1109/CSMR.2013.15","DOIUrl":"https://doi.org/10.1109/CSMR.2013.15","url":null,"abstract":"There are many software projects started daily, some are successful, while others are not. Successful projects get completed, are used by many people, and bring benefits to users. Failed projects do not bring similar benefits. In this work, we are interested in developing an effective machine learning solution that predicts project outcome (i.e., success or failures) from developer socio-technical network. To do so, we investigate successful and failed projects to find factors that differentiate the two. We analyze the socio-technical aspect of the software development process by focusing at the people that contribute to these projects and the interactions among them. We first form a collaboration graph for each software project. We then create a training set consisting of two graph databases corresponding to successful and failed projects respectively. A new data mining approach is then employed to extract discriminative rich patterns that appear frequently on the successful projects but rarely on the failed projects. We find that these automatically mined patterns are effective features to predict project outcomes. We experiment our solution on projects in Source Forge. Net, the largest open source software development portal, and show that under 10 fold cross validation, our approach could achieve an accuracy of more than 90% and an AUC score of 0.86. We also present and analyze some mined socio-technical patterns.","PeriodicalId":309343,"journal":{"name":"2013 17th European Conference on Software Maintenance and Reengineering","volume":"12 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2013-03-05","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121603539","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}
引用次数: 18
A Framework for Classifying and Comparing Architecture-centric Software Evolution Research 一个以体系结构为中心的软件演化研究分类与比较的框架
2013 17th European Conference on Software Maintenance and Reengineering Pub Date : 2013-03-01 DOI: 10.1109/CSMR.2013.39
Pooyan Jamshidi, Mohammad Ghafari, Aakash Ahmad, C. Pahl
{"title":"A Framework for Classifying and Comparing Architecture-centric Software Evolution Research","authors":"Pooyan Jamshidi, Mohammad Ghafari, Aakash Ahmad, C. Pahl","doi":"10.1109/CSMR.2013.39","DOIUrl":"https://doi.org/10.1109/CSMR.2013.39","url":null,"abstract":"Context: Software systems are increasingly required to operate in an open world, characterized by continuous changes in the environment and in the prescribed requirements. Architecture-centric software evolution (ACSE) is considered as an approach to support software adaptation at a controllable level of abstraction in order to survive in the uncertain environment. This requires evolution in system structure and behavior that can be modeled, analyzed and evolved in a formal fashion. Existing research and practices comprise a wide spectrum of evolution-centric approaches in terms of formalisms, methods, processes and frameworks to tackle ACSE as well as empirical studies to consolidate existing research. However, there is no unified framework providing systematic insight into classification and comparison of state-of-the-art in ACSE research. Objective: We present a taxonomic scheme for a classification and comparison of existing ACSE research approaches, leading to a reflection on areas of future research. Method: We performed a systematic literature review (SLR), resulting in 4138 papers searched and 60 peer-reviewed papers considered for data collection. We populated the taxonomic scheme based on a quantitative and qualitative extraction of data items from the included studies. Results: We identified five main classification categories: (i) type of evolution, (ii) type of specification, (iii) type of architectural reasoning, (iv) runtime issues, and (v) tool support. The selected studies are compared based on their claims and supporting evidences through the scheme. Conclusion: The classification scheme provides a critical view of different aspects to be considered when addressing specific ACSE problems. Besides, the consolidation of the ACSE evidences reflects current trends and the needs for future research directions.","PeriodicalId":309343,"journal":{"name":"2013 17th European Conference on Software Maintenance and Reengineering","volume":"12 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2013-03-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131862635","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
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学术官方微信
小红书