EDBT 2026 Demo / reviewers in the wild / expert
Harlan D. Mills
dblp:95/5254
· DBLP profile ↗
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
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Computing education
software engineering education |
0.0 | 1 | 1989 | Mathematical Principles for a First Course in Software Engineering · IEEE Trans. Software Eng. 1989 |
Program verification
modular verification |
0.0 | 1 | 1987 | Theory of Modules · IEEE Trans. Software Eng. 1987 |
Programming languages and type systems
module systems |
0.0 | 1 | 1987 | Theory of Modules · IEEE Trans. Software Eng. 1987 |
Programming languages and type systems
control structures |
0.0 | 1 | 1986 | Data Structured Programming: Program Design without Arrays and Pointers · IEEE Trans. Software Eng. 1986 |
Requirements engineering and software design › design process
program design |
0.0 | 1 | 1986 | Data Structured Programming: Program Design without Arrays and Pointers · IEEE Trans. Software Eng. 1986 |
Software testing › software reliability
reliability certification |
0.0 | 1 | 1986 | Certifying the Reliability of Software · IEEE Trans. Software Eng. 1986 |
Software testing
software reliability |
0.0 | 1 | 1986 | Certifying the Reliability of Software · IEEE Trans. Software Eng. 1986 |
Software testing
statistical testing |
0.0 | 1 | 1986 | Certifying the Reliability of Software · IEEE Trans. Software Eng. 1986 |
Programming languages and type systems › programming paradigms
structured programming |
0.0 | 1 | 1986 | Data Structured Programming: Program Design without Arrays and Pointers · IEEE Trans. Software Eng. 1986 |
Requirements engineering and software design
software design methodology |
0.0 | 2 | 1989 | 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.0 | 1 | 1982 | Understanding and Documenting Programs · IEEE Trans. Software Eng. 1982 |
Programming languages and type systems
abstract data types |
0.0 | 1 | 1986 | Data Structured Programming: Program Design without Arrays and Pointers · IEEE Trans. Software Eng. 1986 |
Programming languages and type systems
data types |
0.0 | 1 | 1986 | Data Structured Programming: Program Design without Arrays and Pointers · IEEE Trans. Software Eng. 1986 |
Software maintenance and evolution
software maintenance |
0.0 | 1 | 1976 | Software Development · IEEE Trans. Software Eng. 1976 |
Software maintenance and evolution
program comprehension |
0.0 | 1 | 1982 | 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
| Year | Publication | Venue | Position |
|---|---|---|---|
| 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 EngineeringabstractAn 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 FacilityabstractThe 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 |
COMPSAC | 2 |
| 1988 | Software engineering-retrospect and prospectabstractAfter 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 |
COMPSAC | 1 |
| 1987 | Theory of ModulesabstractBecause 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 SoftwareabstractA 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 PointersabstractStructured 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)abstractA. Joe Turner Susan L. Gerhart, Eric C. R. Hehner, Harlan D. Mills, A. Joe Turner |
SIGCSE | 3 |
| 1982 | Understanding and Documenting ProgramsabstractThis 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 |
ICSE | 1 |
| 1976 | Software DevelopmentabstractSoftware 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 professionabstractComputer 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 |
SIGCSE | 1 |