Project description
New toolbox reduces the likelihood of spreadsheet errors
Spreadsheet applications such as Microsoft Excel are essential tools in business, accounting and research. However, a simple mistake in company spreadsheets may cost billions. A former EU-funded project implemented new techniques in static programme analysis that facilitate the verification of programmes that use complex data structures, such as unidimensional or multidimensional arrays, lists, trees and dictionaries. MemCAD led to the design of powerful abstraction techniques to reason over complex data structures such as tables found in spreadsheets. Building on those developments, the EU-funded SPARKs project aims to leverage these results into a toolbox that can verify, optimise and maintain spreadsheets. The envisioned toolbox will rely on automatic and conservative semantic static analysis, reporting all occurrences of certain classes of errors.
Objective
Spreadsheet applications (such as Microsoft Excel + VBA) are heavily used in a wide range of fields including engineering, finance, management, statistics and health. However, they do not ensure robustness properties, thus spreadsheet errors are hard to avoid, common and potentially very costly. According to estimates, the annual cost of spreadsheet errors is around 7 billion dollars. For instance, in 2013, a series of basic spreadsheet errors at JPMorgan incurred 6 billion dollars trading losses. To avoid such problems, spreadsheet users need better support from rigorous tools, since the development of industrial spreadsheets typically involves multiple tabs, formulas, macros and data read from external sources (e.g. the internet). However, as of today, spreadsheet environment offer almost no verification support, and third party tools do not allow to reason correctly over macros, and future uses of existing formulas. The MemCAD ERC StG project opened the way to novel formal analysis techniques for spreadsheet applications. Indeed, the MemCAD project led to the design of powerful abstraction techniques to reason over complex data-structures such as tables as found in spreadsheets. During this project, we have implemented AiXL, a prototype that was able to analyze large public benchmarks. It uncovered defects that are beyond the scope of other approaches. We propose to leverage these results into a toolbox able to safely verify, optimize and maintain spreadsheets, so as to reduce the likelihood of errors. The envisioned toolbox relies on automatic and conservative semantic static analysis, so that it will report all occurrences of certain classes of errors. It will have an open architecture with plugins, and will easily extend to user specific properties. This works will take place in a partnership with MatrixLEAD, a startup created based on the results of the ERC MemCAD project. MatrixLEAD will provide industrial use-cases and commercialization plans.
Fields of science
Programme(s)
Funding Scheme
ERC-POC - Proof of Concept GrantHost institution
78153 Le Chesnay Cedex
France