Automatically Inferring ClassSheet Models from Spreadsheets

Jacome Cunha, Martin Erwig, Joao Saraiva
<span title="">2010</span> <i title="IEEE"> <a target="_blank" rel="noopener" href="https://fatcat.wiki/container/fr4el5amwjgurnzfbga6pji4ue" style="color: black;">2010 IEEE Symposium on Visual Languages and Human-Centric Computing</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. However, designing such models is time consuming and requires expertise beyond the knowledge to work with spreadsheets. Legacy spreadsheets pose a particular challenge to the approach of controlling spreadsheet evolution through higher-level models, because the need for a model might be overshadowed by two problems: (A) The
more &raquo; ... it of creating a spreadsheet is lacking since the legacy spreadsheet already exists, and (B) existing data must be transferred into the new model-generated spreadsheet. To address these problems and to support the modeldriven spreadsheet engineering approach, we have developed a tool that can automatically infer ClassSheet models from spreadsheets. To this end, we have adapted a method to infer entity/relationship models from relational database to the spreadsheets/ClassSheets realm. We have implemented our techniques in the HAEXCEL framework and integrated it with the ViTSL/Gencel spreadsheet generator, which allows the automatic generation of refactored spreadsheets from the inferred ClassSheet model. The resulting spreadsheet guides further changes and provably safeguards the spreadsheet against a large class of formula errors. The developed tool is a significant 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.
<span class="external-identifiers"> <a target="_blank" rel="external noopener noreferrer" href="https://doi.org/10.1109/vlhcc.2010.22">doi:10.1109/vlhcc.2010.22</a> <a target="_blank" rel="external noopener" href="https://dblp.org/rec/conf/vl/CunhaES10.html">dblp:conf/vl/CunhaES10</a> <a target="_blank" rel="external noopener" href="https://fatcat.wiki/release/ibbtezrycvh57krwmnnxwiw2g4">fatcat:ibbtezrycvh57krwmnnxwiw2g4</a> </span>
<a target="_blank" rel="noopener" href="https://web.archive.org/web/20170816211524/http://repositorium.sdum.uminho.pt/bitstream/1822/36469/1/143.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/c3/34/c334a6ef7a4aa0ad574e3eba3ddb4b929446f0ff.180px.jpg" alt="fulltext thumbnail" loading="lazy"> </div> </button> </a> <a target="_blank" rel="external noopener noreferrer" href="https://doi.org/10.1109/vlhcc.2010.22"> <button class="ui left aligned compact blue labeled icon button serp-button"> <i class="external alternate icon"></i> ieee.com </button> </a>