{"title":"Sine-Cosine Algorithm for Software Fault Prediction","authors":"Tamanna Sharma, O. Sangwan","doi":"10.1109/ICSME52107.2021.00084","DOIUrl":"https://doi.org/10.1109/ICSME52107.2021.00084","url":null,"abstract":"For developing an efficient and quality Software Fault Prediction (SFP) model, redundant and irrelevant features need to be removed. This task can be achieved, to a significant extent, with Feature Selection (FS) methods. Many empirical studies have been proposed on FS methods (Filter and Wrapper-based) and have shown effective results in reducing the problem of high dimensionality in metrics-based SFP models. This study evaluates the performance of novel wrapper-based Sine Cosine Algorithm (SCA) on five datasets of the AEEEM repository and compares the results with two metaheuristic techniques Genetic Algorithm (GA) and Cuckoo Search algorithm (CSA) on four different Machine Learning (ML) classifiers - Random Forest (RF), Support Vector Machine (SVM), Naïve Bayes (NB), and K-Nearest Neighbor (KNN). We found that the application of FS methods (SCA, GA & CSA) has improved the classifier performance. SCA has proved to be more efficient than GA and CSA in terms of lesser convergence time with the smallest subset of selected features and equivalent performance.","PeriodicalId":205629,"journal":{"name":"2021 IEEE International Conference on Software Maintenance and Evolution (ICSME)","volume":"77 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2021-09-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114449029","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}
{"title":"Stepwise Refactoring Tools","authors":"A. M. Eilertsen, G. Murphy","doi":"10.1109/ICSME52107.2021.00070","DOIUrl":"https://doi.org/10.1109/ICSME52107.2021.00070","url":null,"abstract":"As part of software change tasks, software developers frequently make repetitive and error-prone code changes. Many of these changes can be automated by refactoring tools that are available in mainstream development environments, but developers seldom choose to use them, in large part due to the all-or-nothing approach of the tools. In this paper, we propose an alternative interaction model in which a refactoring tool instead generates a set of code change entities that the developer can inspect, edit, discard, or apply at will. Between applications, the tool supports manual edits or even starting a new refactoring, thus enabling stepwise and recursive refactoring in a way current tools can not. Our model addresses multiple usability problems with refactoring tools. In this paper, we motivate and describe the proposed model and discuss challenges related to its implementation.","PeriodicalId":205629,"journal":{"name":"2021 IEEE International Conference on Software Maintenance and Evolution (ICSME)","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2021-09-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129976126","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}
{"title":"CodeRibbon: More Efficient Workspace Management and Navigation for Mainstream Development Environments","authors":"Benjamin P. Klein, Austin Z. Henley","doi":"10.26226/morressier.613b5419842293c031b5b641","DOIUrl":"https://doi.org/10.26226/morressier.613b5419842293c031b5b641","url":null,"abstract":"Developers spend considerable time navigating and managing open code documents in their development environment. Researchers have proposed novel interfaces to address the problems of workspace management, such as the Patchworks and Code Bubbles code editors, which replace the traditional tabbed document interface. However, these interfaces are not available in mainstream development environments despite their promising laboratory results. In this paper, we demonstrate CodeRibbon, a user interface for more efficient workspace management and navigation that is publicly available as a code editor plugin. CodeRibbon provides a virtually endless ribbon of code documents that are arranged in an adjustable grid for efficient juxtaposition and navigation with minimal document management. Our implementation is open source and currently in development as plugins for Atom and VS Code. Since prior research on these interfaces has been limited to laboratory studies, we aim to collect usage data from a longitudinal field study involving professional developers engaged in real-world tasks. This work should provide a better understanding of how tools can support developers in efficiently managing their development environments. Demonstration video: https://youtu.be/m5wQ87ItVGg","PeriodicalId":205629,"journal":{"name":"2021 IEEE International Conference on Software Maintenance and Evolution (ICSME)","volume":"37 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2021-09-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132232292","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}
Hiroyuki Kirinuki, S. Matsumoto, Yoshiki Higo, S. Kusumoto
{"title":"NLP-assisted Web Element Identification Toward Script-free Testing","authors":"Hiroyuki Kirinuki, S. Matsumoto, Yoshiki Higo, S. Kusumoto","doi":"10.26226/morressier.613b5417842293c031b5b5c8","DOIUrl":"https://doi.org/10.26226/morressier.613b5417842293c031b5b5c8","url":null,"abstract":"End-to-end test automation is important in modern web application development. However, existing test automation techniques have challenges in implementing and maintaining test scripts. It is difficult to keep correct locators, which test scripts require to identify web elements on web pages. The reason is that locators depend on the metadata in web elements or the structure of each web page. One efficient way to solve the problem of locators is to make test cases written in natural language executable without test scripts. As the first step of script-free testing, we propose a technique to identify web elements to be operated and to determine test procedures by interpreting test cases. The test cases are written in a domain-specific language without relying on the metadata of web elements or the structural information of web pages. We leverage natural language processing techniques to understand the semantics of web elements. We also create heuristic search algorithms to find promising test procedures. To evaluate our proposed technique, we applied it to two open-source web applications. The experimental results show that our technique successfully identified 94% of web elements to be operated in the test cases.","PeriodicalId":205629,"journal":{"name":"2021 IEEE International Conference on Software Maintenance and Evolution (ICSME)","volume":"21 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2021-09-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124817544","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}
Takuya Asano, Masateru Tsunoda, Koji Toda, Amjed Tahir, K. E. Bennin, K. Nakasai, Akito Monden, Kenichi Matsumoto
{"title":"Using Bandit Algorithms for Project Selection in Cross-Project Defect Prediction","authors":"Takuya Asano, Masateru Tsunoda, Koji Toda, Amjed Tahir, K. E. Bennin, K. Nakasai, Akito Monden, Kenichi Matsumoto","doi":"10.26226/morressier.613b5418842293c031b5b606","DOIUrl":"https://doi.org/10.26226/morressier.613b5418842293c031b5b606","url":null,"abstract":"Background: defect prediction model is built using historical data from previous versions/releases of the same project. However, such historical data may not exist in case of newly developed projects. Alternatively, one can train a model using data obtained from external projects. This approach is known as cross-project defect prediction (CPDP). In CPDP, it is still difficult to utilize external projects' data or decide which particular project to use to train a model. Aim: to address this issue, we apply bandit algorithm (BA) to CPDP in order to select the most suitable training project from a set of projects. Method: BA-based prediction iteratively reselects the project after each module is tested, considering the accuracy of the predictions. As baselines, we used simple CPDP methods such as training a model with randomly selected project. All models were built using logistic regression. Results: We experimented our approach on two datasets (NASA and DAMB, with a total of 12 projects). The BA-based defect prediction models resulted in, on average, a higher accuracy (AUC and F1 score) than the baselines. Conclusion: in this preliminarily study, we demonstrate the feasibility of using BA in the context of CPDP. Our initial assessment shows that the use BA for predicting defects in CPDP is promising and may outperform existing approaches.","PeriodicalId":205629,"journal":{"name":"2021 IEEE International Conference on Software Maintenance and Evolution (ICSME)","volume":"105 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2021-09-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124844100","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}
{"title":"[Copyright notice]","authors":"","doi":"10.1109/icsme52107.2021.00003","DOIUrl":"https://doi.org/10.1109/icsme52107.2021.00003","url":null,"abstract":"","PeriodicalId":205629,"journal":{"name":"2021 IEEE International Conference on Software Maintenance and Evolution (ICSME)","volume":"44 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2021-09-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"117104330","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}
{"title":"An Evolutionary Analysis of Software-Architecture Smells","authors":"Philipp Gnoyke, Sandro Schulze, J. Krüger","doi":"10.1109/ICSME52107.2021.00043","DOIUrl":"https://doi.org/10.1109/ICSME52107.2021.00043","url":null,"abstract":"If software quality assurance is postponed or even abandoned for a software system, maintenance and evolution become harder or even impossible. One widely known symptom for the degradation of system quality are Architecture Smells (ASs), which violate fundamental principles of software design. In this paper, we present a study on the evolution of ASs as well as on how and when they foster system degradation. Thus, we provide valuable insights regarding what ASs are meaningful to assure system quality. To this end, we analyzed the evolution of three types of ASs in 14 open-source systems with a total of 485 versions. We adapted indicators used in previous studies to assess the severity of ASs (e.g., growth, lifetime), and relate ASs to technical debt as another established indicator. Our results indicate that 1) ASs remain mostly stable compared to the code size of a system, 2) certain types of ASs, such as cyclic dependencies, have a greater impact on system degradation, and 3) certain properties determine how much an AS contributes to software degradation. These findings are valuable for practitioners to identify and tackle system degeneration, as well as for researchers to scope new research on managing ASs and technical debt.","PeriodicalId":205629,"journal":{"name":"2021 IEEE International Conference on Software Maintenance and Evolution (ICSME)","volume":"104 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2021-09-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"134522680","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}
Nan Yang, P. Cuijpers, R. Schiffelers, J. Lukkien, Alexander Serebrenik
{"title":"Logs and models in engineering complex embedded systems","authors":"Nan Yang, P. Cuijpers, R. Schiffelers, J. Lukkien, Alexander Serebrenik","doi":"10.1109/ICSME52107.2021.00083","DOIUrl":"https://doi.org/10.1109/ICSME52107.2021.00083","url":null,"abstract":"Complex embedded systems, such as robotics, automotive and high-tech manufacturing, are hard to maintain due to their complex nature. To advance our understanding of the software engineering practice for complex embedded systems, we conducted a series of empirical studies at ASML, a leading manufacturer of lithography machines for semi-conductor industry. We started with an interview study exploring how developers use execution logs, essential artifacts that capture the runtime behavior of software systems. The empirical insights obtained from this study led us to explore subtopics about model inference from logs, modeling practice and log comparison. Motivated by the observation that developers often manually sketch behavioral models based on logs, we propose a model inference technique that can extract models by combining log analysis, and analysis of a running system under stimuli. As observed in this model inference study, the transition from code to models requires developers to work with a hybrid system which consists of handwritten code and models. We then study modeling practices and the roles of model in such hybrid systems. Particularly, we study why developers violate modeling guidelines, providing implications for researchers and tool builders to support developers in modeling complex embedded systems. Another interesting observation from the interview study is that developers face challenges in comparing multiple logs generated from such systems. We therefore conduct a literature study to provide an overview of the existing techniques and identify the limitations of the existing techniques. In this project, we study logs and models in complex embedded systems, providing tool builders, researchers and practitioners with implications to facilitate log analysis, model inference, modeling practice and log comparison.","PeriodicalId":205629,"journal":{"name":"2021 IEEE International Conference on Software Maintenance and Evolution (ICSME)","volume":"37 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2021-09-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127375112","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}
Nathan Cassee, Christos Kitsanelis, Eleni Constantinou, Alexander Serebrenik
{"title":"Human, bot or both? A study on the capabilities of classification models on mixed accounts","authors":"Nathan Cassee, Christos Kitsanelis, Eleni Constantinou, Alexander Serebrenik","doi":"10.26226/morressier.613b5419842293c031b5b63d","DOIUrl":"https://doi.org/10.26226/morressier.613b5419842293c031b5b63d","url":null,"abstract":"Several bot detection algorithms have recently been discussed in the literature, as software bots that perform maintenance tasks have become more popular in recent years. State-of-the-art techniques detect bots based on a binary classification, where a GitHub account is either a human or a bot. However, this conceptualisation of bot detection as an account-level binary classification problem fails to account for ‘mixed accounts’, accounts that are shared between a human and a bot, and that therefore exhibit both bot and human activity. By using binary classification models for bot detection, researchers might hence mischaracterize both human and bot behavior in software maintenance. This calls for conceptualisation of bot detection through a comment-level classification. However, the single such approach solely investigates a small number of mixed account comments. The nature of mixed accounts on GitHub is thus yet unknown, and the absence of appropriate datasets make this a difficult problem to study. In this paper, we investigate three comment-level classification models and we evaluate these classifiers on a manually labeled dataset of mixed accounts. We find that the best classifiers based on these classification models achieve a precision and recall between 88% and 96%. However, even the most accurate comment-level classifier cannot accurately detect mixed accounts; rather, we find that textual content alone, or textual content combined with templates used by bots, are very effective features for the detection of both bot and mixed accounts. Our study calls for more accurate bot detection techniques capable of identifying mixed accounts, and as such supporting more refined insights in software maintenance activities performed by humans and bots on social coding sites.","PeriodicalId":205629,"journal":{"name":"2021 IEEE International Conference on Software Maintenance and Evolution (ICSME)","volume":"5 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2021-09-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114176040","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}
Yutaro Kashiwa, Kazuki Shimizu, Bin Lin, G. Bavota, Michele Lanza, Yasutaka Kamei, Naoyasu Ubayashi
{"title":"Does Refactoring Break Tests and to What Extent?","authors":"Yutaro Kashiwa, Kazuki Shimizu, Bin Lin, G. Bavota, Michele Lanza, Yasutaka Kamei, Naoyasu Ubayashi","doi":"10.26226/morressier.613b5419842293c031b5b63f","DOIUrl":"https://doi.org/10.26226/morressier.613b5419842293c031b5b63f","url":null,"abstract":"Refactoring as a process is aimed at improving the quality of a software system while preserving its external behavior. In practice, refactoring comes in the form of many specific and diverse refactoring operations, which have different scopes and thus a different potential impact on both the production and the test code. We present a large-scale quantitative study complemented by a qualitative analysis involving 615,196 test cases to understand how and to what extent different refactoring operations impact a system's test suites. Our findings show that while the vast majority of refactoring operations do not or very seldom induce test breaks, some specific refactoring types (e.g., “RENAME Attribute” and “RENAME Class”) have a higher chance of breaking test suites. Meanwhile, “ADD Parameter” and “CHANGE Return Type” refactoring operations often require additional lines of changes to fix the test suite they break. While some modern IDEs provide features to automatically apply these two types of refactoring operations, they are not always able to avoid test breaks, thus demanding extra human efforts.","PeriodicalId":205629,"journal":{"name":"2021 IEEE International Conference on Software Maintenance and Evolution (ICSME)","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2021-09-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129717816","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}