10 research outputs found

    Type determination in an optimizing compiler for APL

    Get PDF
    This was produced from a copy of a document sent to us for microfilming. While the most advanced technological means to photograph and reproduce this document have been used, the quality is heavily dependent upon the quality of the material submitted. The following explanation of techniques is provided to help you understand markings or notations which may appear on this reproduction. 1. The sign or "target " for pages apparently lacking from the document photographed is "Missing Page(s)". If it was possible to obtain the missing page(s) or section, they are spliced into the film along with adjacent pages. This may have necessitated cutting through an image and duplicating adjacent pages to assure you of complete continuity. 2. When an image on the film is obliterated with a round black mark it is an indication that the film inspector noticed either blurred copy because of movement during exposure, or dupUcate copy. Unless we meant to delete copyrighted materials that should not have been filmed, you will find

    Toward an optimizing compiler for a very high level language

    Get PDF

    Idiom matching: an optimization technique for an APL compiler

    Get PDF
    This thesis describes the design of an idiom matching technique in a compiler for APL. Idioms are programming language constructs used by programmers for the logical primitive operations for which no language primitives exist. Due to APL\u27s richness of operators, idioms tend to appear at the expression level. APL users have to pay a very high price to execute their APL programs with operator-by-operator execution in conventional translators. However, each idiom can be treated as a unit. It has been shown (2) that the saving from optimizing such idioms can be very impressive. Other researchers (1,3) have collected lists of idioms for APL;Idiom matching consists of two problems, recognition and selection, which are dealt with in this work. The idiom recognition problem is solved by a finite tree automaton. This approach constructs an automaton directly from a regular tree expression for a set of idioms. A practical automaton minimization algorithm is developed that obtains a time bound of O(n(\u272)(.)log n) for any binary tree automaton with n states. The selection problem, locating the best non-overlapping idioms in an expression tree, is solved in O(n) time;1. Brown, W. E. Toward an Optimizing Compiler for a Very HighLevel Language. Ph.D. dissertation, Iowa State University, 1979;2. Miller, T. C. Tentative Compilation: A Design for an APLCompiler. Ph.D. dissertation, Yale University, 1978;3. Perlis, A. J. and Rugaber, S. The APL Idiom List. ResearchReport #87, Department of Computer Science, Yale University,April, 1977

    A quantitative charcterization of control flow context: software measures for programming environments

    Get PDF
    A review of published measures of control flow complexity in programs reveals three major deficiencies: loss of information, lack of specificity, and lack of analytical support. A new approach is used to characterize the control structure of a program, with the aim of defining properties and measures of control flow that can be of immediate use to programmers, regardless of their utility as complexity measures. Mathematical rigor and analytical evaluation techniques are used to define a set of properties of control structure and a corresponding vector of measures. Instead of defining the properties and measures for an entire flowgraph, they are defined at the node level, reflecting the control flow surrounding each node in a flowgraph. The properties and their measures reflect the following characteristics of control flow: nesting, iteration, structuredness, and predecessors. Algorithms for computing the properties and their measures are presented. An assessment of the computational complexity of the algorithms shows that they are feasible programming environment tools;A finite path set, representing all possible execution sequences, is evaluated as a characterizing property. Desired characteristics of the path set are defined and used to evaluate four published path subset criteria. Those criteria are shown to be deficient, so a fifth criterion is defined. However, the path set satisfying this fifth criterion is shown to be too large to be of practical use to a programmer

    An empirical study of the fault-predictive ability of software control-structure metrics

    Get PDF
    The increasing cost and complexity of software in recent years is causing growing interest in the development of measurement technology to evaluate, predict and compare software complexity. Metrics can be used throughout all the development cycle providing valuable information to the software developers in order to enhance the final products. The goal of this thesis is to verify empirically the fault-predictive ability of some software complexity metrics and specifically their usefulness during the testing phase. A set of eight programs, varying in length from 1,186 to 2,489 lines of Pascal code with 157 faults identified with specific modules, provided the data for this study. The results of the analysis of the programs using four metrics, cyclomatic complexity, bandwidth, nested complexity and the number of statements, show that control-structure metrics can be effectively used to detect the more fault-prone modules. The nested complexity of the modules seems to be some relation with the number of faults caused by wrong use of variables and overrestrictive input checks. These observations can be particularly useful during the testing phase because testers can use control-structure metrics to predict not only the modules that may cause more problems but also the more frequent types of faults and use the metrics to guide the choice of testing techniques.http://archive.org/details/anempiricalstudy1094527708Lieutenant, Portuguese NavyApproved for public release; distribution is unlimited

    Quantifying the Software Maintenance Task: an Empirical Study of Complexity Metrics Across Versions

    Get PDF
    This study concerns the discussion of popular software metrics, models and their applications. The thesis presents an empirical investigation of selected software metrics and also an empirical validation for a new metric, the residual complexity metric, based on industrial data.Computing and Information Science

    Empirical Study of the Relationship Between Static Software Complexity Metrics and Dynamic Measurements of Pascal and C Programs

    Get PDF
    Over the past 10 to 15 years, several studies showing relationships among static complexity metrics have been performed. These include the number of lines of code, McCabe's cyclomatic complexity, Halstead's Software Science metrics, control flow metrics, and information flow metrics. Other studies have examined the relationships between static metrics and effort, clarity, productivity, quality, faults, and reliability. However, there have been very few studies that explore the relationship between static complexity metrics and dynamic measurements of programs. This exploratory, empirical study examines this relationship. The issues considered in this work include data collection procedures, the development of a counting strategy, the analysis of the static and dynamic measurements collected, and the examination of the significance between pairs of these measurements. A goal is to arrive at possible hypotheses to be tested in future, more extensive, controlled experiments. The results of this study show that there are significant correlations between some of the static and dynamic measurements.Computing and Information Science
    corecore