22 research outputs found

    Metrics-Based Spreadsheet Visualization: Support for Focused Maintenance

    Full text link
    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

    Full text link
    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

    Full text link
    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

    Full text link
    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

    Full text link
    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

    No full text
    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

    No full text
    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

    No full text
    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

    No full text
    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 ..
    corecore