22 research outputs found
Metrics-Based Spreadsheet Visualization: Support for Focused Maintenance
Legacy spreadsheets are both, an asset, and an enduring problem concerning
spreadsheets in business. To make spreadsheets stay alive and remain correct,
comprehension of a given spreadsheet is highly important. Visualization
techniques should ease the complex and mindblowing challenges of finding
structures in a huge set of spreadsheet cells for building an adequate mental
model of spreadsheet programs. Since spreadsheet programs are as diverse as the
purpose they are serving and as inhomogeneous as their programmers, to find an
appropriate representation or visualization technique for every spreadsheet
program seems futile. We thus propose different visualization and
representation methods that may ease spreadsheet comprehension but should not
be applied with all kind of spreadsheet programs. Therefore, this paper
proposes to use (complexity) measures as indicators for proper visualization.Comment: 16 Pages, 7 Colour Figure
Protecting Spreadsheets Against Fraud
Previous research on spreadsheet risks has predominantly focussed on errors
inadvertently introduced by spreadsheet writers i.e. it focussed on the
end-user aspects of spreadsheet development. When analyzing a faulty
spreadsheet, one might not be able to determine whether a particular error
(fault) has been made by mistake or with fraudulent intentions. However, the
fences protecting against fraudulent errors have to be different from those
shielding against inadvertent mistakes. Faults resulting from errors committed
inadvertently can be prevented ab initio by tools that notify the spreadsheet
writer about potential problems whereas faults that are introduced on purpose
have to be discovered by auditors without the cooperation of their originators.
Even worse, some spreadsheet writers will do their best to conceal fraudulent
parts of their spreadsheets from auditors. In this paper we survey the
available means for fraud protection by contrasting approaches suitable for
spreadsheets with those known from fraud protection for conventional software.Comment: 16 Pages including extensive reference
A Spreadsheet Auditing Tool Evaluated in an Industrial Context
Amongst the large number of write-and-throw-away spreadsheets developed for
one-time use there is a rather neglected proportion of spreadsheets that are
huge, periodically used, and submitted to regular update-cycles like any
conventionally evolving valuable legacy application software. However, due to
the very nature of spreadsheets, their evolution is particularly tricky and
therefore error-prone. In our strive to develop tools and methodologies to
improve spreadsheet quality, we analysed consolidation spreadsheets of an
internationally operating company for the errors they contain. The paper
presents the results of the field audit, involving 78 spreadsheets with 60,446
non-empty cells. As a by-product, the study performed was also to validate our
analysis tools in an industrial context. The evaluated auditing tool offers the
auditor a new view on the formula structure of the spreadsheet by grouping
similar formulas into equivalence classes. Our auditing approach defines three
similarity criteria between formulae, namely copy, logical and structural
equivalence. To improve the visualization of large spreadsheets, equivalences
and data dependencies are displayed in separated windows that are interlinked
with the spreadsheet. The auditing approach helps to find irregularities in the
geometrical pattern of similar formulas.Comment: 12 Pages, 2 Figures, 4 Table
Computational Models of Spreadsheet Development: Basis for Educational Approaches
Among the multiple causes of high error rates in spreadsheets, lack of proper
training and of deep understanding of the computational model upon which
spreadsheet computations rest might not be the least issue. The paper addresses
this problem by presenting a didactical model focussing on cell interaction,
thus exceeding the atomicity of cell computations. The approach is motivated by
an investigation how different spreadsheet systems handle certain computational
issues implied from moving cells, copy-paste operations, or recursion.Comment: 16 Pages, 4 figures, includes reference
Detecting Errors in Spreadsheets
The paper presents two complementary strategies for identifying errors in
spreadsheet programs. The strategies presented are grounded on the assumption
that spreadsheets are software, albeit of a different nature than conventional
procedural software. Correspondingly, strategies for identifying errors have to
take into account the inherent properties of spreadsheets as much as they have
to recognize that the conceptual models of 'spreadsheet programmers' differ
from the conceptual models of conventional programmers. Nevertheless, nobody
can and will write a spreadsheet, without having such a conceptual model in
mind, be it of numeric nature or be it of geometrical nature focused on some
layout.Comment: 12 Pages, 5 Figures; ISBN: 1 86166 158
AUGUSTA - A reuse-oriented Software Engineering Environment for the Development of Ada-Applications
Increasingly complex demands on functionality and quality of software systems along with the lack of qualified staff require a fundamental change in the software development process. A shift from personnel intensive individual software development to capital intensive industrial software production must take place. This could only be achieved by utilizing tools supporting the development process and by planned design and production of generally applicable and reusable components. The AUGUSTA system (Ada Units Generalization Utility and Systems Tailoring Assistant) concentrates on the aspect of reusability. It allows the instantiation of programs from generic components and the compostion of complete application systems based on an equally generic application structure. Furthermore, the AUGUSTA approach postulates a special process model including a particular concept for user roles according to their experience and tasks in the software construction process. 1. Motivation The way software is developed has undergone substantial changes within the last decades. Increased size and complexity of software needed and the long lifetime of software systems, with myrads of modifications made to such large systems led to systems which are almost impossible to maintain on the level of undocumented code only. New programming techniques (e.g. stuctured programming, module concept, information hiding), new design methods (e.g. Jackson System Development, Structured Design), new management methods (e.g. partitioning the development process in life cycle phases), and tools came into use - the integration of these techniques, methods and tools directed to a new paradigm, software engineering. 2 But in spite of the improvements made, a set of crucial problems is still plaguing today..
Self Classifying Reusable Components Generating Decision Trees from Test Cases
The paper presents an approach to describe the semantics of reusable software components by specifiably chosen input-output tuples. The initial data basis for such tuples are test cases. We discuss, how test cases can serve as descriptors for software components. Further, it is shown how an optimal search structure can be obtained from such tuples by means of supervised learning. Keywords: Automatic classification, repository indexing, decision tree 1
Coping with Uncertainty in Software Retrieval Systems
We present a software retrieval scheme based on textual documentation written in natural language. The distinguishing feature of this approach is to use the fuzziness inherent in natural language utterances as a feature to smoothen differences of descriptions of like concepts made by different individuals. The theoretical basis of this approach, systemic functional theory, is adopted from linguistic research. Concepts thus obtained are related by means of fuzzy sets. 1
Classifying Components by Behavioral Abstraction
We present an approach for classifying and retrieving reusable software based on exemplary descriptions of its functionality. The functionality of reusable components is described by a set of tuples with each tuple representing a characteristic input-output (or stimulus-response) transformation of the component at hand. With careful choice of these characteristic tuples, information equivalent to conventional formal specifications is given, except that (re-)users not versed in formal specification can provide such queries. The concept just introduced depends on the discriminative potential of the tuples provided and on the equivalence of behavior representations by the librarian and by the (re-)user. The former can be assured by the librarians professionalism, the latter by an adequate user-interface of the system supporting a dialog, based on what the system has to offer rather than on guesses about what the (re-)user is looking for. 1 Motivation We depart from the assumption that ..