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.

William H. Harrison

dblp:53/5572 · DBLP profile ↗
← Back
13ranked-venue papers
7as first author
0since 2021 · last 2005
—ORCID · none

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

Software engineering, systems software and programming languages · 12 · 6 first-authorHuman-computer interaction and ubiquitous computing · 1 · 1 first-author

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
13 papers
Requirements engineering and software design · 57% Programming languages and type systems · 18% Software maintenance and evolution · 17%

Topics — the 18 heaviest of 21, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Requirements engineering and software design › separation of concerns
multi-dimensional separation of concerns
0.122000
Workshop on multi-dimensional separation of concerns in software engineering · ICSE 2000
N Degrees of Separation: Multi-Dimensional Separation of Concerns · ICSE 1999
Requirements engineering and software design
separation of concerns
0.122000
Workshop on multi-dimensional separation of concerns in software engineering · ICSE 2000
N Degrees of Separation: Multi-Dimensional Separation of Concerns · ICSE 1999
Programming languages and type systems
object-oriented programming
0.041995
Subject-Oriented Composition Rules · OOPSLA 1995
Subject-Oriented Programming (A Critique of Pure Objects) · OOPSLA 1993
Combination of Inheritance Hierarchies · OOPSLA 1992
Software maintenance and evolution
software modularization
0.012000
Workshop on multi-dimensional separation of concerns in software engineering · ICSE 2000
Requirements engineering and software design
software architecture
0.011999
N Degrees of Separation: Multi-Dimensional Separation of Concerns · ICSE 1999
Programming languages and type systems › inheritance
inheritance hierarchies
0.011992
Combination of Inheritance Hierarchies · OOPSLA 1992
Software maintenance and evolution
software evolution
0.011999
N Degrees of Separation: Multi-Dimensional Separation of Concerns · ICSE 1999
Software maintenance and evolution
traceability
0.011999
N Degrees of Separation: Multi-Dimensional Separation of Concerns · ICSE 1999
Empirical software engineering › software project management
coordination
0.011990
Coordinating Concurrent Development · CSCW 1990
Programming languages and type systems › module systems
software composition
0.011995
Subject-Oriented Composition Rules · OOPSLA 1995
Compilers and program optimization
optimizing compiler
0.021981
Position Paper on Optimizing Compilers · POPL 1981
A New Strategy for Code Generation - the General-Purpose Optimizing Compiler · IEEE Trans. Software Eng. 1979
Compilers and program optimization
code generation
0.021979
A New Strategy for Code Generation - the General-Purpose Optimizing Compiler · IEEE Trans. Software Eng. 1979
A New Strategy for Code Generation - The General Purpose Optimizing Compiler · POPL 1977
Program analysis › data flow analysis
interprocedural dataflow analysis
0.021979
A New Strategy for Code Generation - the General-Purpose Optimizing Compiler · IEEE Trans. Software Eng. 1979
A New Strategy for Code Generation - The General Purpose Optimizing Compiler · POPL 1977
Compilers and program optimization › compiler optimization
global optimization
0.021979
A New Strategy for Code Generation - the General-Purpose Optimizing Compiler · IEEE Trans. Software Eng. 1979
A New Strategy for Code Generation - The General Purpose Optimizing Compiler · POPL 1977
Compilers and program optimization
compiler optimization
0.011979
A New Strategy for Code Generation - the General-Purpose Optimizing Compiler · IEEE Trans. Software Eng. 1979
Compilers and program optimization
compiler analysis
0.011977
Compiler Analysis of the Value Ranges for Variables · IEEE Trans. Software Eng. 1977
Program analysis › static analysis › abstract interpretation
range analysis
0.011977
Compiler Analysis of the Value Ranges for Variables · IEEE Trans. Software Eng. 1977
Program verification › invariant generation
inductive assertions
0.011977
Compiler Analysis of the Value Ranges for Variables · IEEE Trans. Software Eng. 1977

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

separation of concerns · 0.1aspect-oriented modeling · 0.0merge operator · 0.0extension operator · 0.0conceptual analysis · 0.0intermediate language design · 0.0data flow analysis · 0.0
YearPublicationVenuePosition
2005 The concern manipulation environment
abstract
No abstract available
William Chung, William H. Harrison, Vincent J. Kruskal, Harold Ossher, Stanley M. Sutton Jr., Peri L. Tarr, Matthew Chapman, Andrew Clement, Helen Hawkins, Sian January
ICSE2
2000 Workshop on multi-dimensional separation of concerns in software engineering
abstract
Separation of concerns has been central to software engineering for decades, yet its many advantages are still not fully realized. A key reason is that traditional modularization mechanisms do not allow simultaneous decomposition according to multiple kinds of (overlapping and interacting) concerns. This workshop was intended to bring together researchers working on more advanced modularization mechanisms, and practitioners who have experienced the need for them, as a step towards a common understanding of the issues, problems and research challenges.
Peri L. Tarr, William H. Harrison, Harold Ossher, Anthony Finkelstein, Bashar Nuseibeh, Dewayne E. Perry
ICSE2
1999 N Degrees of Separation: Multi-Dimensional Separation of Concerns
abstract
Done well, separation of concerns can provide many software engineering benefits, including reduced complexity, improved reusability, and simpler evolution.The choice of boundaries for separate concerns depends on both requirements on the system and on the kind(s) of decompositionand composition a given formalism supports.The predominant methodologies and formalisms available, however, support only orthogonal separations of concerns, along sdngle dimensions of composition and decomposition.These characteristics lead to a number of well-known and difficult problems.This paper describes a new paradigm for modeling and implementing software artifacts, one that permits separation of overlapping concerns along multiple dimensions of composition and decomposition.This approach addresses numerous problems throughout the software lifecycle in achieving wellengineered, evolvable, flexible software artifacts and traceability across artifacts.
Peri L. Tarr, Harold Ossher, William H. Harrison, Stanley M. Sutton Jr.
ICSE3
1999 Subject-Oriented Design: Towards Improved Alignment of Requirements, Design, and Code
abstract
article Free Access Share on Subject-oriented design: towards improved alignment of requirements, design, and code Authors: Siobhán Clarke School of Computer Applications, Dublin City University, Dublin 9, Republic of Ireland School of Computer Applications, Dublin City University, Dublin 9, Republic of IrelandView Profile , William Harrison IBM T.J. Watson Research Center, P.O. Box 704, Yorktown Heights, NY IBM T.J. Watson Research Center, P.O. Box 704, Yorktown Heights, NYView Profile , Harold Ossher IBM T.J. Watson Research Center, P.O. Box 704, Yorktown Heights, NY IBM T.J. Watson Research Center, P.O. Box 704, Yorktown Heights, NYView Profile , Peri Tarr IBM T.J. Watson Research Center, P.O. Box 704, Yorktown Heights, NY IBM T.J. Watson Research Center, P.O. Box 704, Yorktown Heights, NYView Profile Authors Info & Claims ACM SIGPLAN NoticesVolume 34Issue 10Oct. 1999 pp 325–339https://doi.org/10.1145/320385.320420Online:01 October 1999Publication History 94citation1,710DownloadsMetricsTotal Citations94Total Downloads1,710Last 12 Months24Last 6 weeks3 Get Citation AlertsNew Citation Alert added!This alert has been successfully added and will be sent to:You will be notified whenever a record that you have chosen has been cited.To manage your alert preferences, click on the button below.Manage my AlertsNew Citation Alert!Please log in to your account Save to BinderSave to BinderCreate a New BinderNameCancelCreateExport CitationPublisher SiteeReaderPDF
Siobhán Clarke, William H. Harrison, Harold Ossher, Peri L. Tarr
OOPSLA2
1995 Subject-Oriented Composition Rules
abstract
Subject-oriented programming supports composition of object-oriented programs or program fragments called subjects. This paper presents an approach to the composition rules used to specify composition details. Rules can be generic, allowing different subrules to be "plugged into" higher-level rules, and they include a means of specifying exceptions to general rules. We give definitions of a number of useful, generic rules, including merge and override, as a first step towards a generally-useful composition rule library. We also outline an object-oriented framework for implementing rules, which we are currently building as part of our support for subject-oriented programming in C++.
Harold Ossher, Matthew Kaplan 0003, William H. Harrison, Alexander Katz, Vincent J. Kruskal
OOPSLA3
1993 Subject-Oriented Programming (A Critique of Pure Objects)
abstract
Object-Oriented technology is often described in terms of an interwoven troika of themes: encapsulation, polymorphism, and inheritance.But these themes are firmly tied with the concept of identity.If object-oriented technology is to be successfully scaled from the development of independent applications to development of integrated suites of applica-tions, it must relax its emphasis on the objecf.The technology must recognize more directly that a multiplicity of subjective views delocalizes the concept of object, and must emphasize more the binding concept of identity to tie them together.This paper explores this shift to a style of objectoriented technology that emphasizes the subjective views: Subject-Oriented Programming.
William H. Harrison, Harold Ossher
OOPSLA1
1992 Combination of Inheritance Hierarchies
abstract
Making extensionsto existing systems is a critically important activity in object-oriented pro-existing application.We are in full agreement with Lieberman [7] that one wants a small extension to behavior to require just a small extension to code, and that adding new code is good, whereas modifying existing code is bad.We call this approach "extension-by-addition" [16].gramming.This paper proposes an approach in which extensions of all kinds are clearly separated from the base hierarchy upon which they are built, for ease of distribution and combination.Extensions, including extensions to existing classes, are written in separate, sparse extension hierarchies.The entire system is obtained by combining the extension hierarchies with the base hierarchy.Sequences of successive extensions can be combined using an extension operator, and parallel extensions can be combined using a merge operator, which might identify conflicts that must be reconciled.System building takes place at two levels: combining existing extensions from a library using these operators, and building new extensions when existing ones are not adequate.New extensions built in this way are added to the library, and so should be written to be as general and reusable as possible.
Harold Ossher, William H. Harrison
OOPSLA2
1990 Coordinating Concurrent Development
abstract
Development of any large system or artifact requires the coordination of many developers. Development activities can occur concurrently. The goal of coordination is to enhance, not restrict, developer productivity, while ensuring that concurrent development activities do not clash with one another.
William H. Harrison, Harold Ossher, Peter F. Sweeney
CSCW1
1989 Good News, Bad News: Experience Building a Software Development Environment Using the Object-Oriented Paradigm
abstract
This paper presents our experience building an extendible software development environment using the object-oriented paradigm. We have found that object instances provide a natural way to model program constructs, and to capture complex relationships between different aspects of a software system. The object-oriented paradigm can be efficiently implemented on standard hardware and software, and provides some degree of extendibility without requiring major modifications to the existing implementation.
William H. Harrison, John J. Shilling, Peter F. Sweeney
OOPSLA1
1981 Position Paper on Optimizing Compilers
abstract
No abstract available.
William H. Harrison
POPL1
1979 A New Strategy for Code Generation - the General-Purpose Optimizing Compiler
abstract
This paper presents a systematic approach to the problem of generating good code with a compiler that is easy to construct. A compiler structure is proposed which relies on interprocedural data flow analysis, global optimization, and an intermediate language schema to simplify the task of writing the code generating portions of a compiler without sacrificing code quality. This structure is contrasted with a more conventional structure to explore the reasons why the new structure solves several problems inherent in the conventional structure. Further advantages which accrue from the new structure are also presented.
William H. Harrison
IEEE Trans. Software Eng.1
1977 A New Strategy for Code Generation - The General Purpose Optimizing Compiler
abstract
This paper presents a systematic approach to the problem of generating good code with a compiler that is easy to construct. A compiler structure is proposed which relies on interprocedural data flow analysis, global optimization, and an intermediate language schema to simplify the task of writing the code generating portions of a compiler without sacrificing code quality. This structure is contrasted with a more conventional structure to explore the reasons why the new structure solves several problems inherent in the conventional structure. Further advantages which accrue from the new structure are also presented.
William H. Harrison
POPL1
1977 Compiler Analysis of the Value Ranges for Variables
abstract
Programs can be analyzed to determine bounds on the ranges of values assumed by variables at various points in the program. This range information can then be used to eliminate redundant tests, verify correct operation, choose data representations, select code to be generated, and provide diagnostic information. Sophisticated analyses involving the proofs of complex assertions are sometimes required to derive accurate range information for the purpose of proving programs correct. The performance of such algorithms may be unacceptable for the routine analysis required during the compilation process. This paper presents a discussion of mechanical range analysis employing techniques practical for use in a compiler. This analysis can also serve as a useful adjunct to the more sophisticated techniques required for program proving.
William H. Harrison
IEEE Trans. Software Eng.1