TY - JOUR
T1 - Evaluating refactorings for spreadsheet models
AU - Cunha, Jácome
AU - Paulo Fernandes, João
AU - Martins, Pedro
AU - Mendes, Jorge
AU - Pereira, Rui
AU - Saraiva, João
N1 - Publisher Copyright:
© 2016 Elsevier Inc. All rights reserved.
PY - 2016/8/1
Y1 - 2016/8/1
N2 - Software refactoring is a well-known technique that provides transformations on software artifacts with the aim of improving their overall quality. We have previously proposed a catalog of refactorings for spreadsheet models expressed in the ClassSheets modeling language, which allows us to specify the business logic of a spreadsheet in an object-oriented fashion. Reasoning about spreadsheets at the model level enhances a model-driven spreadsheet environment where a ClassSheet model and its conforming instance (spreadsheet data) automatically co-evolves after applying a refactoring at the model level. Research motivation was to improve the model and its conforming instance: the spreadsheet data. In this paper we define such refactorings using previously proposed evolution steps for models and instances. We also present an empirical study we designed and conducted in order to confirm our original intuition that these refactorings have a positive impact on end-user productivity, both in terms of effectiveness and efficiency. The results are not only presented in terms of productivity changes between refactored and non-refactored scenarios, but also the overall user satisfaction, relevance, and experience. In almost all cases the refactorings improved end-users productivity. Moreover, in most cases users were more engaged with the refactored version of the spreadsheets they worked with.
AB - Software refactoring is a well-known technique that provides transformations on software artifacts with the aim of improving their overall quality. We have previously proposed a catalog of refactorings for spreadsheet models expressed in the ClassSheets modeling language, which allows us to specify the business logic of a spreadsheet in an object-oriented fashion. Reasoning about spreadsheets at the model level enhances a model-driven spreadsheet environment where a ClassSheet model and its conforming instance (spreadsheet data) automatically co-evolves after applying a refactoring at the model level. Research motivation was to improve the model and its conforming instance: the spreadsheet data. In this paper we define such refactorings using previously proposed evolution steps for models and instances. We also present an empirical study we designed and conducted in order to confirm our original intuition that these refactorings have a positive impact on end-user productivity, both in terms of effectiveness and efficiency. The results are not only presented in terms of productivity changes between refactored and non-refactored scenarios, but also the overall user satisfaction, relevance, and experience. In almost all cases the refactorings improved end-users productivity. Moreover, in most cases users were more engaged with the refactored version of the spreadsheets they worked with.
KW - Empirical study
KW - Model-driven engineering
KW - Software refactoring
KW - Spreadsheets
UR - http://www.scopus.com/inward/record.url?scp=84971441815&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=84971441815&partnerID=8YFLogxK
U2 - 10.1016/j.jss.2016.04.043
DO - 10.1016/j.jss.2016.04.043
M3 - Article
AN - SCOPUS:84971441815
SN - 0164-1212
VL - 118
SP - 234
EP - 250
JO - Journal of Systems and Software
JF - Journal of Systems and Software
ER -