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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Searched for: subject%3A%22refactoring%22
(1 - 20 of 33)

Pages