Searched for: subject%253A%2522refactoring%2522
(1 - 17 of 17)
document
Miljak, L. (author), Poulsen, C.B. (author), van Spaendonck, Flip (author)
The goal of automated refactoring is to reduce maintenance effort. To realize this, programmers need to be able to trust or manually check that refactorings actually preserve behavior. To allow programmers to focus on such checks, automated refactorings should preserve program well-typedness. However, historically automated refactorings in...
conference paper 2023
document
van der Leij, David (author), Binda, J.R. (author), van Dalen, Robbert (author), Vallen, Pieter (author), Luo, Yaping (author), Aniche, Maurício (author)
The sound identification of refactoring opportunities is still an open problem in software engineering. Recent studies have shown the effectiveness of machine learning models in recommending methods that should undergo different refactoring operations. In this work, we experiment with such approaches to identify methods that should undergo an...
conference paper 2021
document
Schröder, C.J. (author), van der Feltz, Adriaan (author), Panichella, A. (author), Aniche, Maurício (author)
Deciding what constitutes a single module, what classes belong to which module or the right set of modules for a specific software system has always been a challenging task. The problem is even harder in large-scale software systems composed of thousands of classes and hundreds of modules. Over the years, researchers have been proposing...
conference paper 2021
document
Zhu, Q. (author), Zaidman, A.E. (author), Panichella, A. (author)
Mutation testing is well-known for its efficacy in assessing test quality, and starting to be applied in the industry. However, what should a developer do when confronted with a low mutation score? Should the test suite be plainly reinforced to increase the mutation score, or should the production code be improved as well, to make the...
journal article 2021
document
Aniche, Maurício (author), Maziero, Erick (author), Durelli, Rafael (author), Durelli, Vinicius (author)
Refactoring is the process of changing the internal structure of software to improve its quality without modifying its external behavior. Empirical studies have repeatedly shown that refactoring has a positive impact on the understandability and maintainability of software systems. However, before carrying out refactoring activities,...
journal article 2020
document
Pelsmaeker, D.A.A. (author), van Antwerpen, H. (author), Visser, Eelco (author)
Editor services assist programmers to more effectively write and comprehend code. Implementing editor services correctly is not trivial. This paper focuses on the specification of semantic editor services, those that use the semantic model of a program. The specification of refactorings is a common subject of study, but many other semantic...
conference paper 2019
document
Palomba, F. (author), Di Nucci, D. (author), Panichella, A. (author), Zaidman, A.E. (author), De Lucia, Andrea (author)
Context. The demand for green software design is steadily growing higher especially in the context of mobile devices, where the computation is often limited by battery life. Previous studies found how wrong programming solutions have a strong impact on the energy consumption. Objective. Despite the efforts spent so far, only a little knowledge...
journal article 2019
document
Palomba, F. (author), Zaidman, A.E. (author), Oliveto, Rocco (author), De Lucia, Andrea (author)
Refactoring aims at improving the internal structure of a software system without changing its external behavior. Previous studies empirically assessed, on the one hand, the benefits of refactoring in terms of code quality and developers’<br/>productivity, and on the other hand, the underlying reasons that push programmers to apply refactoring....
conference paper 2017
document
Vassalo, Carmine (author), Zampetti, Fiorelli (author), Romano, D. (author), Beller, M.M. (author), Panichella, A. (author), Di Penta, Massimiliano (author), Zaidman, A.E. (author)
Continuous Delivery is an agile software develop- ment practice in which developers frequently integrate changes into the main development line and produce releases of their software. An automated Continuous Integration infrastructure builds and tests these changes. Claimed advantages of CD include early discovery of (integration) errors,...
conference paper 2016
document
Soetens, Quinten David (author), Pérez, Javier (author), Demeyer, Serge (author), Zaidman, A.E. (author)
Today, refactoring reconstruction techniques are snapshot-based: they compare two revisions from a source code man-agement system and calculate the shortest path of edit op-erations to go from the one to the other. An inherent risk with snapshot-based approaches is that a refactoring may be concealed by later edit operations acting on the...
conference paper 2015
document
Romano, D. (author), Raemaekers, S. (author), Pinzger, M. (author)
Recent studies have shown that the violation of the Interface Segregation Principle (ISP) is critical for maintaining and evolving software systems. Fat interfaces (i.e., interfaces violating the ISP) change more frequently and degrade the quality of the components coupled to them. According to the ISP the interfaces’ design should force no...
report 2014
document
De Jonge, M. (author)
The goal of this dissertation is to develop techniques that simplify the implementation of tool support for new languages. More specifically, we focus on language-parametric solutions for the implementation of language-specific editor support. In the first part of this dissertation we investigate generic techniques to recover from syntax errors...
doctoral thesis 2014
document
Greiler, M.S. (author), Van Deursen, A. (author), Storey, M.A. (author)
Paper accepted for publication in the Proceedings of the Sixth International Conference on Software Testing, Verification and Validation, IEEE Computer Society, 18-22 March 2013, ISBN 978-1-4673-5961-0, doi: 10.1109/ICST.2013.45 Designing automated tests is a challenging task. One important concern is how to design test fixtures, i.e. code that...
report 2013
document
Hermans, F.F.J. (author), Pinzger, M. (author), Van Deursen, A. (author)
Preprint of article published in: Empirical Software Engineering, February 2014, Springer Science+Business Media New York, doi:10.1007/s10664-013-9296-2 Spreadsheets are used extensively in business processes around the world and just like software, spreadsheets are changed throughout their lifetime causing understandability and maintainability...
report 2013
document
Hermans, F. (author), Pinzger, M. (author), Van Deursen, A. (author)
Spreadsheets are used extensively in business processes around the world and just like software, spreadsheets are changed throughout their lifetime causing maintainability issues. This paper adapts known code smells to spreadsheet formulas. To that end we present a list of metrics by which we can detect smelly formulas and a visualization...
report 2011
document
Hermans, F. (author), Pinger, M. (author), Van Deursen, A. (author)
Spreadsheets are often used in business, for simple tasks, as well as for mission critical tasks such as finance or forecasting. Similar to software, some spreadsheets are of better quality than others, for instance with respect to usability, maintainability or reliability. In contrast with software however, spreadsheets are rarely checked,...
report 2011
document
Marin, A.M. (author)
Evolution of software systems accounts for the largest part of their lifecycle and costs. Software engineers therefore, more often than developing new systems, work on complex, existing ones that they have to understand in order to modify them. Understanding such systems requires insight into the various concerns the systems implement, many of...
doctoral thesis 2008
Searched for: subject%253A%2522refactoring%2522
(1 - 17 of 17)