Mark Moriconi

dblp:51/4652 · DBLP profile ↗
← Back
8ranked-venue papers
8as first author
0since 2021 · last 1997
—ORCID · none

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

Software engineering, systems software and programming languages · 6 · 6 first-authorSecurity and privacy · 1 · 1 first-authorTheory of computation · 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
7 papers
Requirements engineering and software design · 59% Program verification · 14% Program analysis · 13%
Network and information security
1 paper
Authentication and access control · 50% Systems and software security · 50%

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

TopicWeightPapersLastEvidence papers
Requirements engineering and software design
software architecture
0.041997
Secure Software Architectures · S&P 1997
Correct Architecture Refinement · IEEE Trans. Software Eng. 1995
Correctness and Composition of Software Architectures · SIGSOFT FSE 1994
Requirements engineering and software design › software architecture
architectural style
0.011995
Correct Architecture Refinement · IEEE Trans. Software Eng. 1995
Software maintenance and evolution
change impact analysis
0.021990
Approximate Reasoning About the Semantic Effects of Program Changes · IEEE Trans. Software Eng. 1990
A Designer/Verifiers's Assistant · IEEE Trans. Software Eng. 1979
Program analysis
data flow analysis
0.011990
Approximate Reasoning About the Semantic Effects of Program Changes · IEEE Trans. Software Eng. 1990
Program analysis › static analysis
information flow analysis
0.011990
Approximate Reasoning About the Semantic Effects of Program Changes · IEEE Trans. Software Eng. 1990
Authentication and access control
access control models
0.011997
Secure Software Architectures · S&P 1997
Systems and software security › multilevel security
bell-lapadula model
0.011997
Secure Software Architectures · S&P 1997
Program verification
correctness proof
0.011995
Correct Architecture Refinement · IEEE Trans. Software Eng. 1995
Software maintenance and evolution
software evolution
0.021990
Approximate Reasoning About the Semantic Effects of Program Changes · IEEE Trans. Software Eng. 1990
A Designer/Verifiers's Assistant · IEEE Trans. Software Eng. 1979
Program verification › program logic
hoare logic
0.011981
Automatic Construction of Verification Condition Generators From Hoare Logics · ICALP 1981
Program verification › deductive verification
verification condition generation
0.011981
Automatic Construction of Verification Condition Generators From Hoare Logics · ICALP 1981
Program verification › automated verification
incremental verification
0.011979
A Designer/Verifiers's Assistant · IEEE Trans. Software Eng. 1979
Program verification › proof assistants
proof maintenance
0.011979
A Designer/Verifiers's Assistant · IEEE Trans. Software Eng. 1979
Software maintenance and evolution
software documentation
0.011986
The PegaSys System: Pictures as Formal Documentation of Large Programs · ACM Trans. Program. Lang. Syst. 1986

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

security property verification · 0.0formal specification · 0.0refinement patterns · 0.0compositional reasoning · 0.0dependency analysis · 0.0approximate reasoning · 0.0logical reasoning · 0.0hierarchical refinement · 0.0formal reasoning · 0.0
YearPublicationVenuePosition
1997 Secure Software Architectures
abstract
The computer industry is increasingly dependent on open architectural standards for their competitive success. This paper describes a new approach to secure system design in which the various representations of the architecture of a software system are described formally and the desired security properties of the system are proven to hold at the architectural level. The main ideas are illustrated by means of the X/Open distributed transaction processing reference architecture, which is formalized and extended for secure access control as defined by the Bell-LaPadula model. The extension allows vendors to develop individual components independently and with minimal concern about security. Two important observations were gleaned on the implications of incorporating security into software architectures.
Mark Moriconi, Xiaolei Qian, Robert A. Riemenschneider
S&P1
1995 Correct Architecture Refinement
abstract
A method is presented for the stepwise refinement of an abstract architecture into a relatively correct lower-level architecture that is intended to implement it. A refinement step involves the application of a predefined refinement pattern that provides a routine solution to a standard architectural design problem. A pattern contains an abstract architecture schema and a more detailed schema intended to implement it. The two schemas usually contain very different architectural concepts (from different architectural styles). Once a refinement pattern is proven correct, instances of it can be used without proof in developing specific architectures. Individual refinements are compositional, permitting incremental development and local reasoning. A special correctness criterion is defined for the domain of software architecture, as well as an accompanying proof technique. A useful syntactic form of correct composition is defined. The main points are illustrated by means of familiar architectures for a compiler. A prototype implementation of the method has been used successfully in a real application.>
Mark Moriconi, Xiaolei Qian, Robert A. Riemenschneider
IEEE Trans. Software Eng.1
1994 Correctness and Composition of Software Architectures
abstract
The design of a large system typically involves the development of a hierarchy of different but related architectures. A criterion for the relative correctness of an architecture is presented, and conditions for architecture composition are defined which ensure that the correctness of a composite architecture follows from the correctness of its parts. Both the criterion and the composition requirements reflect special considerations from the domain of software architecture.The main points are illustrated by means of familiar architecture for a compiler. A proof of the relative correctness of two different compiler architectures shows how to decompose a proof into generic properties, which are proved once for every pair of architectural styles, and instance-level properties, which must be proved for every architecture.
Mark Moriconi, Xiaolei Qian
SIGSOFT FSE1
1991 Correction to "Approximate Reasoning About the Semantic Effects of Program Changes"
Mark Moriconi, Timothy C. Winkler
IEEE Trans. Software Eng.1
1990 Approximate Reasoning About the Semantic Effects of Program Changes
abstract
It is pointed out that the incremental cost of a change to a program is often disproportionately high because of inadequate means of determining the semantic effects of the change. A practical logical technique for finding the semantic effects of changes through a direct analysis of the program is presented. The programming language features considered include parametrized modules, procedures, and global variables. The logic described is approximate in that weak (conservative) results sometimes are inferred. Isolating the exact effects of a change is undecidable in general. The basis for an approximation is a structural interpretation of the information-flow relationships among program objects. The approximate inference system is concise, abstract, extensible, and decidable, giving it significant advantages over the main alternative formalizations. The authors' implementation of the logic records the justification for each dependency to facilitate the interpretation of results.>
Mark Moriconi, Timothy C. Winkler
IEEE Trans. Software Eng.1
1986 The PegaSys System: Pictures as Formal Documentation of Large Programs
abstract
PegsSys is an experimental system in which a user formally describes how a program is put together by means of a hierarchically structured collection of pictures, called formal dependency diagrams (FDDs). Icons in an FDD denote a wide range of data and control dependencies among the relatively coarse-grained entities contained in large programs. Dependencies considered atomic with respect to one level in a hierarchy can be decomposed into a number of dependencies at a lower level. Each dependency can be a predefined primitive of the FDD language or it can be defined by a PegaSys user in terms of the primitives. A PegsSys user is given the illusion that logical formulas do not exist, even though PegaSys reasons about them internally. This involves (1) checking whether an FDD is meaningful syntactically, (2) determining whether hierarchical refinements of an FDD are methodologically sound, and (3) deciding whether an FDD hierarchy is logically consistent with the program that it is intended to describe. The techniques used to provide these capabilities are discussed along with the logical properties that enable PegaSys to maintain the user illusion.
Mark Moriconi, Dwight F. Hare
ACM Trans. Program. Lang. Syst.1
1981 Automatic Construction of Verification Condition Generators From Hoare Logics
Mark Moriconi, Richard L. Schwartz
ICALP1
1979 A Designer/Verifiers's Assistant
abstract
Since developing and maintaining formally verified programs is an incremental activity, one is not only faced with the problem of constructing specifications, programs, and proofs, but also with the complex problem of determining what previous work remains valid following incremental changes. A system that reasons about changes must build a detailed model of each development and be able to apply its knowledge, the same kind of knowledge an expert would have, to integrate new or changed information into an existing model.
Mark Moriconi
IEEE Trans. Software Eng.1