Demonstration venue · read-only. Every page can be browsed; the buttons that would change it are switched off. Create an account to run TaxoReview on your own data.

Harlan D. Mills

dblp:95/5254 · DBLP profile ↗
← Back
12ranked-venue papers
6as first author
0since 2021 · last 1995
—ORCID · none

Domains — the database's venue-derived domains; a paper can count in several

Software engineering, systems software and programming languages · 9 · 5 first-authorHuman-computer interaction and ubiquitous computing · 2 · 1 first-authorApplied, interdisciplinary, general and emerging computing · 2 · 1 first-authorArtificial intelligence and machine learning · 1

Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.

Software engineering, system software, and programming languages
6 papers
Programming languages and type systems · 35% Software testing · 28% Requirements engineering and software design · 17%
Interdisciplinary, comprehensive, and emerging computing
1 paper
Computing education · 100%

Topics — the 15 heaviest of 16, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Computing education
software engineering education
0.011989
Mathematical Principles for a First Course in Software Engineering · IEEE Trans. Software Eng. 1989
Program verification
modular verification
0.011987
Theory of Modules · IEEE Trans. Software Eng. 1987
Programming languages and type systems
module systems
0.011987
Theory of Modules · IEEE Trans. Software Eng. 1987
Programming languages and type systems
control structures
0.011986
Data Structured Programming: Program Design without Arrays and Pointers · IEEE Trans. Software Eng. 1986
Requirements engineering and software design › design process
program design
0.011986
Data Structured Programming: Program Design without Arrays and Pointers · IEEE Trans. Software Eng. 1986
Software testing › software reliability
reliability certification
0.011986
Certifying the Reliability of Software · IEEE Trans. Software Eng. 1986
Software testing
software reliability
0.011986
Certifying the Reliability of Software · IEEE Trans. Software Eng. 1986
Software testing
statistical testing
0.011986
Certifying the Reliability of Software · IEEE Trans. Software Eng. 1986
Programming languages and type systems › programming paradigms
structured programming
0.011986
Data Structured Programming: Program Design without Arrays and Pointers · IEEE Trans. Software Eng. 1986
Requirements engineering and software design
software design methodology
0.021989
Mathematical Principles for a First Course in Software Engineering · IEEE Trans. Software Eng. 1989
Software Development · IEEE Trans. Software Eng. 1976
Program verification
correctness proof
0.011982
Understanding and Documenting Programs · IEEE Trans. Software Eng. 1982
Programming languages and type systems
abstract data types
0.011986
Data Structured Programming: Program Design without Arrays and Pointers · IEEE Trans. Software Eng. 1986
Programming languages and type systems
data types
0.011986
Data Structured Programming: Program Design without Arrays and Pointers · IEEE Trans. Software Eng. 1986
Software maintenance and evolution
software maintenance
0.011976
Software Development · IEEE Trans. Software Eng. 1976
Software maintenance and evolution
program comprehension
0.011982
Understanding and Documenting Programs · IEEE Trans. Software Eng. 1982

Methods — techniques the papers use, named apart from their topics

statistical model · 0.0hoare logic · 0.0functional semantics · 0.0loop invariant discovery · 0.0direct cognition · 0.0incremental development · 0.0
YearPublicationVenuePosition
1995 Box-structured requirements determination methods
Alan R. Hevner, Harlan D. Mills
Decis. Support Syst.2
1989 Mathematical Principles for a First Course in Software Engineering
abstract
An introductory computer science course is developed, much as calculus is a basic course for mathematics and the physical sciences, concerned primarily with theoretical foundations and methodology rather than apprenticeship through applications. In this work, the principles taught in the course are described and an example illustrating them is given.>
Harlan D. Mills, Victor R. Basili, John D. Gannon, Richard G. Hamlet
IEEE Trans. Software Eng.1
1988 A case study in cleanroom software engineering: the IBM COBOL Structuring Facility
abstract
The IBM COBOL Structuring Facility program product was developed using cleanroom software engineering technology in a pipeline of increments with very high quality and productivity. In the cleanroom approach, programs are developed under statistical quality control and mathematical verification is used in place of unit debugging. The formal methods of specification, design, functional verification, and testing are described, together with development and management practices required for maintaining intellectual control over the process.>
Richard C. Linger, Harlan D. Mills
COMPSAC2
1988 Software engineering-retrospect and prospect
abstract
After reviewing early software engineering history, the author describes current developments and, finally, examines future prospects in this domain. Particular consideration is given to stepwise refinement and verification in arithmetic; data abstractions and usage hierarchies; stepwise refinement and verification in box-structured systems; and 'explosion' in computer-aided software engineering.>
Harlan D. Mills
COMPSAC1
1987 Theory of Modules
abstract
Because large-scale software development is a struggle against internal program complexity, the modules into which programs are divided play a central role in software engineering. A module encapsulating a data type allows the programmer to ignore both the details of its operations, and of its value representations. It is a primary strength of program proving that as modules divide a program, making it easier to understand, so do they divide its proof. Each module can be verified in isolation, then its internal details ignored in a proof of its use. This paper describes proofs of module abstractions based on functional semantics, and contrasts this with the Alphard formalism based on Hoare logic.
John D. Gannon, Richard G. Hamlet, Harlan D. Mills
IEEE Trans. Software Eng.3
1986 Certifying the Reliability of Software
abstract
A description is given of a procedure for certifying the reliability of software before its release to users. The ingredients of this procedure are a life cycle of executable product increments, representative statistical testing, and a standard estimate of the MTTF (mean time to failure) of the product at the time of its release. The authors also discuss the development of certified software products and the derivation of a statistical model used for reliability projection. Available software test data are used to demonstrate the application of the model in certification process.
P. Allen Currit, Michael G. Dyer, Harlan D. Mills
IEEE Trans. Software Eng.3
1986 Data Structured Programming: Program Design without Arrays and Pointers
abstract
Structured programming introduced a new discipline for accessing the instructions of a program. In suitable programming languages, this discipline can be described in terms of program design without gotos. It can be shown, for example, that any functional result achievable in a programming language with gotos can be achieved in that same language without gotos if sequence, selection, and iteration control constructs are present. The gotos permit random access to the instructions while sequence, selection, and iteration provide much more limited and disciplined access. The authors introduce a new discipline for accessing the data of a program. Any functional result achievable in a programming language with arrays and pointers can be achieved in that same language without arrays and pointers if set, stack, and queue data types are present. The arrays and pointers permit random access to the data while sets, stacks, and queues provide much more limited and disciplined access.
Harlan D. Mills, Richard C. Linger
IEEE Trans. Software Eng.1
1983 Teaching formal methods for program development and verification (Panel Session)
abstract
A. Joe Turner
Susan L. Gerhart, Eric C. R. Hehner, Harlan D. Mills, A. Joe Turner
SIGCSE3
1982 Understanding and Documenting Programs
abstract
This paper reports on an experiment in trying to understand an unfamiliar program of some complexity and to record the authors' understanding of it. The goal was to simulate a practicing programmer in a program maintenance environment using the techniques of program design adapted to program understanding and documentation; that is, given a program, a specification and correctness proof were developed for the program. The approach points out the value of correctness proof ideas in guiding the discovery process. Toward this end, a variety of techniques were used: direct cognition for smaller parts, discovering and verifying loop invariants for larger program parts, and functions determined by additional analysis for larger program parts. An indeterminate bounded variable was introduced into the program documentation to summarize the effect of several program variables and simplify the proof of correctness.
Victor R. Basili, Harlan D. Mills
IEEE Trans. Software Eng.2
1976 Software Development (Abstract)
Harlan D. Mills
ICSE1
1976 Software Development
abstract
Software development has emerged as a critical bottleneck in the human use of automatic data processing. Beginning with ad hoc heuristic methods of design and implementation of software systems, problems of software maintenance and changes have become unexpectedly large. It is contended that improvement is possible only with more rigor in software design and development methodology. Rigorous software design should survive its implementation and be the basis for further evolution. Software development should be done incrementally, in stages with continuous user participation and replanning, and with design-to-cost programming within each stage.
Harlan D. Mills
IEEE Trans. Software Eng.1
1973 On the structure of a computing profession
abstract
Computer systems are dangerously out of control in several dimensions today. They are out of control with respect to social integrity, with respect to fiscal integrity, and with respect to cost and productivity. It is a simple matter for a knowledgeable person to abuse privacy and priviledged information in computer systems, to obtain information and to change it without authorization. Such illegal acts can be used for social ill or financial ill—to invade privacy, to embezzle, to defraud.
Harlan D. Mills
SIGCSE1