Searched for: subject%3A%22refactoring%22
(1 - 20 of 33)

Pages

document
Struik, Kalle (author)
Refactoring tools are an important tool for developers, but their reliability can be questionable at times. In this paper, we show that it is feasible to formally verify refactoring tools using computer-aided proofs. To this end, we create a Haskell-like language and a refactoring operation on this language to add an extra function argument to...
bachelor thesis 2023
document
Jóźwik, Michał (author)
When designing critical software, great care must be taken to guarantee its correctness. Refactoring is one of the techniques used to improve code readability, maintainability, and other factors without changing functionality. Thus, to ensure that it is properly applied, automated tools are used to perform refactoring. To ensure that the code...
bachelor thesis 2023
document
Padilla Cancio, José (author)
This paper concerns itself with correct by construction refactoring of Maybe values to List values in a Haskell-like language (HLL) as a case study on data-oriented refactorings. Our language makes use of intrinsically-typed syntax and de Bruijn indices for variables. Operational semantics are defined using big step semantics. We define a...
bachelor thesis 2023
document
Bastenhof, Jeroen (author)
Refactoring is a useful tool for increasing the overall quality of software without making changes to how it interacts with the environment. To verify that a refactoring operation correctly transforms an expression, one can provide a formal proof. Using Agda, a dependently-typed language, as a proof assistant, we investigate the feasibility of...
bachelor thesis 2023
document
Zandbergen, Timen (author)
This paper provides a refactoring from do notation to >>= operators and proves that this refactoring maintains observational equivalence. As programs grow ever larger and more complex, there is a growing need to automatically apply refactorings to these programs in a dependable manner. Current refactoring engines often contain errors, even...
bachelor thesis 2023
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 Gugten, Loek (author)
Refactorings are program transformations that preserve the observable behavior of the program. The refactoring function inlining replaces a function call with the contents of the referenced function definition. To preserve the behavior, properties such as reference relations must be retained and language constructs like 'return' statements must...
master thesis 2022
document
de Vries, Rolf (author)
As software systems evolve over time, the quality of its structure and code degrade unless developers regularly maintain it, requiring significant effort. Automated tools to help developers maintain software have been well-studied in the past. <br/>In particular, software remodularisation tools focus on improving the code structure quality with...
master thesis 2022
document
Kapitonenko, Nik (author)
JSGLR2 is a java implementation of the Scannerless Generalized LR-parsing (SGLR) algorithm. It employs a modular architecture. This architecture comes with a performance overhead for letting multiple components interact with each other. This paper looks into the size of the performance overhead penalty for the recovery parser variant. It does so...
bachelor thesis 2021
document
Misteli, Phil (author)
A refactoring is a program transformation that improves the design of the source code, while preserving its behavior. Most modern IDEs offer a number of automated refactorings as editor services. The Rename refactoring is the most-commonly applied refactoring and is used to change the identifier of a program entity such as a variable, a function...
master thesis 2021
document
van der Leij, David (author)
Refactoring is the process of improving the structure of code without changing its functionality. The process is beneficial for software quality but challenges remain for identifying refactoring opportunities. This work employs machine learning to predict the application of the refactoring type Extract Method in an industry setting with the use...
master thesis 2021
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
Gerling, Jan (author)
Refactorings tackle the challenge of architectural degradation of object-oriented software projects by improving its internal structure without changing the behavior. Refactorings improve software quality and maintainability if applied correctly. However, identifying refactoring opportunities is a challenging problem for developers and...
master thesis 2020
document
Schröder, Casper (author)
Code quality of software products often degrades while they grow. Counteracting the degradation of code quality or improving it requires immense effort. Tools that reduce this effort are a hot topic in software engineering research. Software Modularization in particular aims to aid in the process of improving the quality of code structure, by...
master thesis 2020
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
Bottema, Rowan (author)
When developers enter a project, often a vast amount of existing code exists for them to understand. Improving the understandability of the code should help them in getting up to speed. This study researches two methods that could improve the understandability of the code for newcomers: Refactoring the code to adhere to Clean Code guidelines and...
master thesis 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
Searched for: subject%3A%22refactoring%22
(1 - 20 of 33)

Pages