Model-based spreadsheet engineering

Bibliographic Details
Main Author: Cunha, Jácome Miguel Costa
Publication Date: 2011
Language: eng
Source: Repositórios Científicos de Acesso Aberto de Portugal (RCAAP)
Download full: http://hdl.handle.net/1822/12387
Summary: Tese de doutoramento em Informática (área Fundamentos da Computação)
id RCAP_605ca8cc98268af8e8fccc90a4131ce3
oai_identifier_str oai:repositorium.sdum.uminho.pt:1822/12387
network_acronym_str RCAP
network_name_str Repositórios Científicos de Acesso Aberto de Portugal (RCAAP)
repository_id_str https://opendoar.ac.uk/repository/7160
spelling Model-based spreadsheet engineering681.3.06Tese de doutoramento em Informática (área Fundamentos da Computação)Spreadsheets can be viewed as programming languages for non-professional programmers. These so-called “end-user” programmers vastly outnumber professional programmers creating millions of new spreadsheets every year. As a programming language, spreadsheets lack support for abstraction, testing, encapsulation, or structured programming. As a result, and as numerous studies have shown, the high rate of production is accompanied by an alarming high rate of errors. Some studies report that up to 90% of real-world spreadsheets contain errors. After their initial creation, many spreadsheets turn out to be used for storing and processing increasing amounts of data and supporting increasing numbers of users over long periods of time, making them complicated systems. An emerging solution to handle the complex and evolving software systems is Model-driven Engineering (MDE). To consider models as first class entities and any software artifact as a model or a model element is one of the basic principles of MDE. We adopted some techniques from MDE to solve spreadsheet problems. Most spreadsheets (if not all) lack a proper specification or a model. Using reverse engineering techniques we are able to derive various models from legacy spreadsheets. We use functional dependencies (a formalism that allow us to define how some column values depend on other column values) as building blocks for these models. Models can be used for several spreadsheet improvements, namely refactoring, safe evolution, migration or even generation of edit assistance. The techniques presented in this work are available under the framework HAEXCEL that we developed. It is composed of online and batch tools, reusable HASKELL libraries and OpenOffice.org extensions. A study with several end-users was organized to survey the impact of the techniques we designed. The results of this study indicate that the models can bring great benefits to spreadsheet engineering helping users to commit less errors and to work faster.Saraiva, João AlexandreVisser, J.Universidade do MinhoCunha, Jácome Miguel Costa2011-03-222011-03-22T00:00:00Zdoctoral thesisinfo:eu-repo/semantics/publishedVersionapplication/pdfhttp://hdl.handle.net/1822/12387enginfo:eu-repo/semantics/openAccessreponame:Repositórios Científicos de Acesso Aberto de Portugal (RCAAP)instname:FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologiainstacron:RCAAP2024-05-11T05:37:31Zoai:repositorium.sdum.uminho.pt:1822/12387Portal AgregadorONGhttps://www.rcaap.pt/oai/openaireinfo@rcaap.ptopendoar:https://opendoar.ac.uk/repository/71602025-05-28T15:24:40.297796Repositórios Científicos de Acesso Aberto de Portugal (RCAAP) - FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologiafalse
dc.title.none.fl_str_mv Model-based spreadsheet engineering
title Model-based spreadsheet engineering
spellingShingle Model-based spreadsheet engineering
Cunha, Jácome Miguel Costa
681.3.06
title_short Model-based spreadsheet engineering
title_full Model-based spreadsheet engineering
title_fullStr Model-based spreadsheet engineering
title_full_unstemmed Model-based spreadsheet engineering
title_sort Model-based spreadsheet engineering
author Cunha, Jácome Miguel Costa
author_facet Cunha, Jácome Miguel Costa
author_role author
dc.contributor.none.fl_str_mv Saraiva, João Alexandre
Visser, J.
Universidade do Minho
dc.contributor.author.fl_str_mv Cunha, Jácome Miguel Costa
dc.subject.por.fl_str_mv 681.3.06
topic 681.3.06
description Tese de doutoramento em Informática (área Fundamentos da Computação)
publishDate 2011
dc.date.none.fl_str_mv 2011-03-22
2011-03-22T00:00:00Z
dc.type.driver.fl_str_mv doctoral thesis
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
status_str publishedVersion
dc.identifier.uri.fl_str_mv http://hdl.handle.net/1822/12387
url http://hdl.handle.net/1822/12387
dc.language.iso.fl_str_mv eng
language eng
dc.rights.driver.fl_str_mv info:eu-repo/semantics/openAccess
eu_rights_str_mv openAccess
dc.format.none.fl_str_mv application/pdf
dc.source.none.fl_str_mv reponame:Repositórios Científicos de Acesso Aberto de Portugal (RCAAP)
instname:FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologia
instacron:RCAAP
instname_str FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologia
instacron_str RCAAP
institution RCAAP
reponame_str Repositórios Científicos de Acesso Aberto de Portugal (RCAAP)
collection Repositórios Científicos de Acesso Aberto de Portugal (RCAAP)
repository.name.fl_str_mv Repositórios Científicos de Acesso Aberto de Portugal (RCAAP) - FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologia
repository.mail.fl_str_mv info@rcaap.pt
_version_ 1833595296418889728