Model inference for spreadsheets

Jácome Cunha, Martin Erwig, Jorge Mendes, João Saraiva
<span title="2014-09-03">2014</span> <i title="Springer Nature"> <a target="_blank" rel="noopener" href="https://fatcat.wiki/container/ye52j2q6jbdgzp3ouuhpljlg6q" style="color: black;">Automated Software Engineering : An International Journal</a> </i> &nbsp;
Many errors in spreadsheet formulas can be avoided if spreadsheets are built automatically from higher-level models that can encode and enforce consistency constraints in the generated spreadsheets. Employing this strategy for legacy spreadsheets is difficult, because the model has to be reverse engineered from an existing spreadsheet and existing data must be transferred into the new model-generated spreadsheet. We have developed and implemented a technique that automatically infers relational
more &raquo; ... schemas from spreadsheets. This technique uses particularities from the spreadsheet realm to create better schemas. We have evaluated this technique in two ways: First, we have demonstrated its applicability by using it on a set of real-world spreadsheets. Second, we have run an empirical study with users. The study has shown that the results produced by our technique are comparable to the ones developed by experts starting from the same (legacy) spreadsheet data. Although relational schemas are very useful to model data, they do not fit well spreadsheets as they do not allow to express layout. Thus, we have also introduced a mapping between relational schemas and ClassSheets. A ClassSheet controls further changes to the spreadsheet and safeguards it against a large class of formula errors. The developed tool is a contribution to spreadsheet (reverse) engineering, because it fills an important gap and allows a promising design method (ClassSheets) to be applied to a huge collection of legacy spreadsheets with minimal effort. Keywords Spreadsheets · ClassSheets · Relational Model · Automatic Model Inference · Empirical Validation Introduction Spreadsheets are one of the most popular programming systems, especially concerning business applications. Every year, hundreds of millions of spreadsheets are created by business users, and numerous studies show that this high rate of production is accompanied by an alarming high rate
<span class="external-identifiers"> <a target="_blank" rel="external noopener noreferrer" href="https://doi.org/10.1007/s10515-014-0167-x">doi:10.1007/s10515-014-0167-x</a> <a target="_blank" rel="external noopener" href="https://fatcat.wiki/release/4oho2shmdrf2zftw7vpz7pdgnq">fatcat:4oho2shmdrf2zftw7vpz7pdgnq</a> </span>
<a target="_blank" rel="noopener" href="https://web.archive.org/web/20170817113029/http://repositorium.sdum.uminho.pt/bitstream/1822/33782/1/1908.pdf" title="fulltext PDF download" data-goatcounter-click="serp-fulltext" data-goatcounter-title="serp-fulltext"> <button class="ui simple right pointing dropdown compact black labeled icon button serp-button"> <i class="icon ia-icon"></i> Web Archive [PDF] <div class="menu fulltext-thumbnail"> <img src="https://blobs.fatcat.wiki/thumbnail/pdf/29/45/294505186a705fcc19d7f1498cd6962b8b43f232.180px.jpg" alt="fulltext thumbnail" loading="lazy"> </div> </button> </a> <a target="_blank" rel="external noopener noreferrer" href="https://doi.org/10.1007/s10515-014-0167-x"> <button class="ui left aligned compact blue labeled icon button serp-button"> <i class="external alternate icon"></i> springer.com </button> </a>