3 Matching Results

Search Results

Advanced search parameters have been applied.

A Tool for Measuring the Size, Structure and Complexity of Software

Description: The problem addressed by this thesis is the need for a software measurement tool that enforces a uniform measurement algorithm on several programming languages. The introductory chapter discusses the concern for software measurement and provides background for the specific models and metrics that are studied. A multilingual software measurement tool is then introduced, that analyzes programs written in Ada, C, Pascal, or PL/I, and quantifies over thirty different program attributes. Metrics computed by the program include McCabe's measure of cyclomatic complexity and Halstead's software science metrics. Some results and conclusions of preliminary data analysis, using the tool, are also given. The appendices contain exhaustive counting algorithms for obtaining the metrics in each language.
Date: May 1984
Creator: Versaw, Larry
Partner: UNT Libraries

Independent Quadtrees

Description: This dissertation deals with the problem of manipulating and storing an image using quadtrees. A quadtree is a tree in which each node has four ordered children or is a leaf. It can be used to represent an image via hierarchical decomposition. The image is broken into four regions. A region can be a solid color (homogeneous) or a mixture of colors (heterogeneous). If a region is heterogeneous it is broken into four subregions, and the process continues recursively until all subregions are homogeneous. The traditional quadtree suffers from dependence on the underlying grid. The grid coordinate system is implicit, and therefore fixed. The fixed coordinate system implies a rigid tree. A rigid tree cannot be translated, scaled, or rotated. Instead, a new tree must be built which is the result of one of these transformations. This dissertation introduces the independent quadtree. The independent quadtree is free of any underlying coordinate system. The tree is no longer rigid and can be easily translated, scaled, or rotated. Algorithms to perform these operations axe presented. The translation and rotation algorithms take constant time. The scaling algorithm has linear time in the number nodes in the tree. The disadvantage of independent quadtrees is the longer generation and display time. This dissertation also introduces an alternate method of hierarchical decomposition. This new method finds the largest homogeneous block with respect to the corners of the image. This block defines the division point for the decomposition. If the size of the block is below some cutoff point, it is deemed to be to small to make the overhead worthwhile and the traditional method is used instead. This new method is compared to the traditional method on randomly generated rectangles, triangles, and circles. The new method is shown to use significantly less space for all three ...
Date: December 1986
Creator: Atwood, Larry D. (Larry Dale)
Partner: UNT Libraries

An Empirical Investigation of the Impact of Cognitive Complexity and Experience of Programmers, and Program Complexity on Program Comprehension and Modification

Description: The psychological characteristics of programmers are believed to be important determinants of programming productivity. However, little evidence is available to support this contention. This investigation, motivated by the lack of such evidence, was concerned with determining the influence of the programmer's cognitive complexity (differentiation and integration) and experience on comprehending and modifying programs of different levels of complexity. Data were collected from ninty-three graduate and undergraduate students in a classroom experimental setting. In the first phase of the experiment, a background questionnaire was administered in order to collect experience and other demographic information. Also, a domain-specific Role Construct Repertory (REP) Test was administered to collect cognitive complexity information. In the second phase, the subjects were randomly assigned to either the program comprehension group or to the program modification group. Both groups used two COBOL programs of differing levels of complexity to do comprehension and modification exercises. Three sets of hypotheses were tested. The first set of hypotheses was designed to evaluate the direction and strength of the relationship between cognitive complexity and program comprehension and modification. The second set of hypotheses was designed to evaluate the combined influence of cognitive complexity and program complexity on the comprehension and modification of the programs. The third set of hypotheses was designed to evaluate the moderating effect of experience on the relationship of cognitive complexity to program comprehension and modification. Cognitive integration was found to have a significant and positive nonlinear relationship only with the relatively complex program modification scores. The subjects who were ranked high in cognitive integration performed better than those ranked low in modifying the relatively complex program; but they performed the same in modifying the relatively simple program. Cognitive differentiation was found to have no significant relationship with either comprehension scores or modification scores. Experience of the subjects did ...
Date: May 1986
Creator: Khalil, Omar Elnadi M.
Partner: UNT Libraries