Michael Siff

dblp:56/995 · DBLP profile ↗
← Back
3ranked-venue papers
3as first author
0since 2021 · last 1999
—ORCID · none

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

Software engineering, systems software and programming languages · 3 · 3 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
2 papers
Software maintenance and evolution · 62% Program synthesis and code generation · 19% Programming languages and type systems · 19%

Topics — the 4 heaviest of 5, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Software maintenance and evolution
concept analysis
0.011999
Identifying Modules via Concept Analysis · IEEE Trans. Software Eng. 1999
Software maintenance and evolution › software reengineering
software remodularization
0.011999
Identifying Modules via Concept Analysis · IEEE Trans. Software Eng. 1999
Programming languages and type systems
type inference
0.011996
Program Generalization for Software Reuse: From C to C++ · SIGSOFT FSE 1996
Software maintenance and evolution
code reuse
0.011996
Program Generalization for Software Reuse: From C to C++ · SIGSOFT FSE 1996

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

lattice theory · 0.0formal concept analysis · 0.0type inference · 0.0
YearPublicationVenuePosition
1999 Identifying Modules via Concept Analysis
abstract
Describes a general technique for identifying modules in legacy code. The method is based on concept analysis - a branch of lattice theory that can be used to identify similarities among a set of objects based on their attributes. We discuss how concept analysis can identify potential modules using both "positive" and "negative" information. We present an algorithmic framework to construct a lattice of concepts from a program, where each concept represents a potential module. We define the notion of a concept partition, present an algorithm for discovering all concept partitions of a given concept lattice, and prove the algorithm to be correct.
Michael Siff, Thomas W. Reps
IEEE Trans. Software Eng.1
1997 Identifying modules via concept analysis
abstract
Describes a general technique for identifying modules in legacy code. The method is based on concept analysis-a branch of lattice theory that can be used to identify similarities among a set of objects based on their attributes. We discuss how concept analysis can identify potential modules using both “positive” and “negative” information. We present an algorithmic framework to construct a lattice of concepts from a program, where each concept represents a potential module
Michael Siff, Thomas W. Reps
ICSM1
1996 Program Generalization for Software Reuse: From C to C++
abstract
We consider the problem of software generalization: Given a program component C, create a parameterized program component C′ such that C′ is usable in a wider variety of syntactic contexts than C. Furthermore, C′ should be a semantically meaningful generalization of C; namely, there must exist an instantiation of C′ that is equivalent in functionality to C.In this paper, we present an algorithm that generalizes C functions via type inference. The original functions operate on specific data types; the result of generalization is a collection of C++ function templates that operate on parameterized types. This version of the generalization problem is useful in the context of converting existing C programs to C++.
Michael Siff, Thomas W. Reps
SIGSOFT FSE1