arrow
返回

Preserving instance state during refactorings in live environments

delete2020-09-01
delete1
delete
OA
AI
P
Pablo Tesone *
G
Guillermo Polito
L
Luc Fabresse
N
Noury Bouraqadi
S
Sté́phane Ducasse
DOI:10.1016/j.future.2020.04.010delete
delete原文链接
delete分享
delete收藏
查看原文
摘要

摘要

En 中文
An important activity of software evolution consists in applying refactorings to enhance the quality of the code without changing its behaviour. Having a proper refactoring tool is a must-to in any professional development environment. In addition, live programming allows faster development than the usual edit-compile-debug process. During live programming sessions, the developer can directly manipulate instances and modify the state of the running program. However, when a complex refactoring is performed, instances may be corrupted (i.e., their state is lost). For example, when pushing an instance variable to a superclass there is a moment where the superclass does not have yet acquired the new instance variable and the subclass does not have it any more. It means that the value assigned to this instance variable in existing instances is lost after the refactoring. This problem is not anecdotal since 36% of the refactorings described in Fowler's catalogue corrupt instances when used in a live programming context. There is a need to manually migrate, regenerate or reload instances from persistent sources. This manual fix lowers the usefulness of live programming. In this context of live programming, we propose, AtomicRefactoring, a new solution based on Dynamic Software Update to preserve the state of the application after performing refactorings. We provide a working extension to the existing refactoring tool developed for the language Pharo (a new offspring inheriting from Smalltalk), allowing application developers to perform complex refactorings preserving the live state of the running program. (C) 2020 Elsevier B.V. All rights reserved.
Keyword:
Automatic refactorings
Live programming environments
Dynamic software update
IDE
AI总结

AI总结

对已上传原文的论文进行重点信息的提取,主要内容包括:简要概述、研究摘要、背景介绍、关键亮点、图文解析、展望与总结。

期刊

F
Future Generation Computer Systems-The International Journal of eScience
IF:
6.1
论文数:
6.9K
被引数:
2.3W

机构

I
IMT Nord Europe
学者数:
313
论文数: 259
被引数: 458
I
imt - institut mines-telecom
学者数:
7.4K
论文数: 6.4K
被引数: 5
U
universite de lille
学者数:
2.7W
论文数: 2.0W
被引数: 15
学者 查看更多机构
引用论文

引用论文

Hydrogen-induced piezoelectric effects in InP HEMT's
err1999-08-01
err0
errOAAI
errR.R. Blanchard; J.A. del Alamo; S.B. Adams; P.C. Chao; A. Cornet
err分享
err收藏
Plant Volatilome Resources
err2016-06-30
err0
PREAI
errBiswapriya B. Misra
err分享
err收藏
err分享
err收藏
Evaluating Dynamic Software Update Safety Using Systematic Testing
err2012-11-01
err18
errOAAI
errHayden, Christopher M.; Smith, Edward K.; Hardisty, Eric A.; Hicks, Michael; Foster, Jeffrey S.
err分享
err收藏
err分享
err收藏
Reliability and validity of the Spanish version of the Children's Sleep Habits Questionnaire (CSHQ‐SP) in school‐age children
err2016-06-08
err0
errOAAI
errL. Lucas‐de la Cruz; V. Martínez‐Vizcaino; C. Álvarez‐Bueno; N. Arias‐Palencia; M. Sánchez‐López; B. Notario‐Pacheco
err分享
err收藏
err分享
err收藏
729-4 Left Ventricular Hypertrophy and the Deletion-Insertion Polymorphism of the Angiotensin Converting Enzyme Gene
err1995-02-01
err0
PREAI
errDaniel Levy; Klaus Lindpaintner; Martin G. Larson; Vasan S. Ramachandran; Richard H. Myers; Marc A. Pfeffer; Jose M. Ordovas; Ernst J. Schaefer; Peter WF. Wilson
err分享
err收藏
学者 查看更多内容