61 research outputs found
Recommended from our members
A taxonomic analysis of typographic programming style
Program comprehension is important in program testing, debugging, and maintenance. Programming style impacts program understanding. However, there has not been any systematic identification of individual style factors and their contribution to program comprehension. In this thesis we present a programming style taxonomy composed of three classes: typographic (program layout and commenting), control structures, and information structures. Each class is further subdivided into macro (whole program or system) and micro (module or statement) subclasses. The taxonomy reveals many conflicting and unsubstantiated rules in collections of style rules from various publications on programming style. Further, it provides plausible explanations for some of the inconsistent results in programming style research. This thesis concentrates on the isolation of typographic style factors and analysis of their affects on programmer comprehension. General principles of good macro- and microtypographic style are identified and the "book paradigm," a mechanism for implementing the principles, is presented. Four experiments, involving both student and professional programmers, demonstrate that the macro- and micro-typographic principles incorporated into the book paradigm significantly improved program comprehension and maintenance. These results have direct application to programming language design and programming tools such as pretty-printers, language directed editors, style analyzers, and source code control systems
Recommended from our members
Typographic style is more than cosmetic
There is disagreement about the role and importance of typographic style (source code formatting and commenting) in program comprehension. Results from experiments and opinions in programming style books are mixed.
This paper presents principles of typographic style consistent and compatible with the results of program comprehension studies. It introduces the book format paradigm, an implementation of these style principles. Results from four experiments demonstrate that the typographic style principles embodied in the book format significantly aid program comprehension and reduce maintenance effort.
The typographic style principles presented in this paper have direct application to code formatters, such as prettyprinters and syntax-directed editors, programming language design, and programming instruction practices.Keywords: Programming style, coding style, code formattin
Recommended from our members
Programming style authorship analysis
Detecting instances of software theft and plagiarism is a difficult problem. The statistical analysis of peculiar words or phrases known to be used by an author is a common method of settling authorship disputes in English literature. This paper presents a similar method for identifying authorship of programs. The method is based on typographic or layout style program characteristics. our experiments show that these characteristics can be used to determine authorship. The major benefits of the method are that it is simple and easy to automate.CR Categories and Subject Descriptors: D.2.3 [Coding], D.2.3 [Metrics], D.2.2 [Tools and Techniques]Keywords: Programming style, coding style, style analysis, typographic style, authorship identification, plagiarism detection
Recommended from our members
Design and code traceability using a PDL metrics tool
This paper describes an analysis tool that extracts complexity metrics from Program Design Language (PDL) as contained in design specification documents. The tool analyzes pseudocode and computes token-count metrics of PDL complexity on a module by module basis. We used the tool to measure consistency within and across modules and for assessing traceability between PDL and the corresponding source code. In applications of the tool we were able to identify PDL descriptions that were too detailed, those lacking sufficient detail, identify inconsistent PDL descriptions, and measure traceability between the PDL description and the corresponding source code
Recommended from our members
Reverse engineering code listings into "books" to improve maintainability
We have identified a "book paradigm" for source code formatting which improves program comprehension and assists in maintenance work. The book paradigm can be implemented by reverse engineering code listings into a "book" with preface, tab1es of contents, chapters, sections, indices and pagination. This reverse engineering effectively reorganizes source code listings into a more usable form of information.
Our empirical tests with the book format show that a significant improvement in program comprehension and corresponding reduction in maintenance effort can be achieved by this process. These results have a direct impact on programming standards, automated style analyzers, and code formatting tools like pretty-printers and syntax directed editors.CR Categories and Subject Descriptors: D.2.3 (Coding], D.2.2 [Tools and Techniques]
KEYWORDS: Programming style, coding style, code formatting, programming tools, coding tools, reverse engineering
Recommended from our members
A paradigm for programming style research
Programming style guidelines and automated coding style analyzers have been developed without a solid experimental or theoretical basis. In this paper we make a distinction between typographic (layout) style characteristics and the underlying structural style content and then show through controlled studies that this distinction aids in assessing the influence of the various style factors. The benefits of this distinction are straightforward identification of specific style factors and a better understanding of their effect on program comprehension. The results of our studies have a direct impact on automated coding style assessment programs, programming standards, program maintainability, and code formatting tools.CR Categories and Subject Descriptors: D.2.3 [Coding], D.2.3 [Metrics], D.2.2 [Tools and Techniques]
KEYWORDS: Programming style, coding style, style guidelines, style analysis, complexity measures, typographic style, structural style
Recommended from our members
Effects of programming experience in debugging semantic errors
This paper presents the results of a controlled experiment comparing debugging abilities of novice, intermediate and skilled student programmers. Debugging performance differences were studied using two single-page Pascal programs: a binary search program and a median calculation program. Two types of semantic errors, array bounds and undefined variable, and two types of error messages, with and without line number, were varied within the two programs. Subjects were asked to find and correct a single error in each program. Results demonstrate skill level differences, show the importance of error and message interaction, and support previous research claiming that programmers can almost always correct an error once it is located
Recommended from our members
Seasonal Ventilation of the Stratosphere: Robust Diagnostics from One-Way Flux Distributions
We present an analysis of the seasonally varying ventilation of the stratosphere using one-way flux distributions. Robust transport diagnostics are computed using GEOSCCM subject to fixed present-day climate forcings. From the one-way flux, we determine the mass of the stratosphere that is in transit since entry through the tropical tropopause to its exit back into the troposphere, partitioned according to stratospheric residence time and exit location. The seasonalities of all diagnostics are quantified with respect to the month of year (a) when air enters the stratosphere, (b) when the mass of the stratosphere is partitioned, and (c) when air exits back into the troposphere. We find that the return flux, within 3 months since entry, depends strongly on when entry occurred: (34 +/- 10)% more of the air entering the stratosphere in July leaves poleward of 45 deg N compared to air that enters in January. The month of year when the air mass is partitioned is also found to be important: The stratosphere contains about six times more air of tropical origin during late summer and early fall that will leave poleward of 45 deg within 6 months since entering the stratosphere compared to during late winter to late spring. When the entire mass of the air that entered the stratosphere at the tropics regardless of its residence time is considered, we find that (51 +/- 1)% and (39 +/- 2)% will leave poleward of 10 deg in the Northern Hemisphere (NH) and Southern Hemisphere (SH), respectively
Recommended from our members
Airmass Origin in the Arctic. Part I: Seasonality
The first climatology of airmass origin in the Arctic is presented in terms of rigorously defined airmass fractions that partition air according to where it last contacted the planetary boundary layer (PBL). Results from a present-day climate integration of the Goddard Earth Observing System Chemistry–Climate Model (GEOSCCM) reveal that the majority of air in the Arctic below 700 mb last contacted the PBL poleward of 60°N. By comparison, 62% (±0.8%) of the air above 700 mb originates over Northern Hemisphere midlatitudes (i.e., “midlatitude air”). Seasonal variations in the airmass fractions above 700 mb reveal that during boreal winter air from midlatitudes originates primarily over the oceans, with 26% (±1.9%) last contacting the PBL over the eastern Pacific, 21% (±0.87%) over the Atlantic, and 16% (±1.2%) over the western Pacific. During summer, by comparison, midlatitude air originates primarily over land, overwhelmingly so over Asia [41% (±1.0%)] and, to a lesser extent, over North America [24% (±1.5%)]. Seasonal variations in the airmass fractions are interpreted in terms of changes in the large-scale ventilation of the midlatitude boundary layer and the midlatitude tropospheric jet
Seasonal Variation of Ozone in the Tropical Lower Stratosphere: Southern Tropics are Different from Northern Tropics
We examine the seasonal behavior of ozone by using measurements from various instruments including ozonesondes, Aura Microwave Limb Sounder, and Stratospheric Aerosol and Gas Experiment II. We find that the magnitude of the annual variation in ozone, as a percentage of the mean ozone, exhibits a maximum at or slightly above the tropical tropopause. The maximum is larger in the northern tropics than in the southern tropics, and the annual maximum of ozone in the southern tropics occurs 2 months later than that in the northern tropics, in contrast to usual assumption that the tropics can be treated as a horizontally homogeneous region. The seasonal cycles of ozone and other species in this part of the lower stratosphere result from a combination of the seasonal variation of the Brewer-Dobson circulation and the seasonal variation of tropical and midlatitude mixing. In the Northern Hemisphere, the impacts of upwelling and mixing between the tropics and midlatitudes on ozone are in phase and additive. In the Southern Hemisphere, they are not in phase. We apply a tropical leaky pipe model independently to each hemisphere to examine the relative roles of upwelling and mixing in the northern and southern tropical regions. Reasonable assumptions of the seasonal variation of upwelling and mixing yield a good description of the seasonal magnitude and phase in both the southern and northern tropics. The differences in the tracers and transport between the northern and southern tropical stratospheres suggest that the paradigm of well-mixed tropics needs to be revised to consider latitudinal variations within the tropics
- …