VLDB 2026 Research / reviewers in the wild / expert
Thomas P. Murtagh
dblp:29/1499
· DBLP profile ↗
16ranked-venue papers
7as first author
0since 2021 · last 2010
—ORCID · none
Domains — the database's venue-derived domains; a paper can count in several
Human-computer interaction and ubiquitous computing · 9 · 3 first-authorSoftware engineering, systems software and programming languages · 4 · 2 first-authorSystems, architecture and hardware · 2 · 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
4 papers |
Programming languages and type systems · 50% Operating systems · 16% Runtime systems and virtual machines · 16% |
Topics — the 10 heaviest of 12, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Runtime systems and virtual machines › runtime memory management
stack allocation |
0.0 | 2 | 1991 | An Improved Storage Management Scheme for Block Structured Languages · ACM Trans. Program. Lang. Syst. 1991 A Less Dynamic Memory Allocation Scheme for Algol-like Languages · POPL 1984 |
Programming languages and type systems › type checking
decidable type checking |
0.0 | 1 | 1993 | Safe and Decidable Type Checking in an Object-Oriented Language · OOPSLA 1993 |
Programming languages and type systems › type systems
subtyping |
0.0 | 1 | 1993 | Safe and Decidable Type Checking in an Object-Oriented Language · OOPSLA 1993 |
Programming languages and type systems
type systems |
0.0 | 1 | 1993 | Safe and Decidable Type Checking in an Object-Oriented Language · OOPSLA 1993 |
Operating systems › resource management
storage management |
0.0 | 1 | 1991 | An Improved Storage Management Scheme for Block Structured Languages · ACM Trans. Program. Lang. Syst. 1991 |
Program analysis › static analysis › interprocedural analysis
call graph analysis |
0.0 | 2 | 1991 | A Less Dynamic Memory Allocation Scheme for Algol-like Languages · POPL 1984 An Improved Storage Management Scheme for Block Structured Languages · ACM Trans. Program. Lang. Syst. 1991 |
Program analysis › memory analysis
lifetime analysis |
0.0 | 1 | 1988 | Lifetime Analysis of Dynamically Allocated Objects · POPL 1988 |
Operating systems › resource management › memory management
memory allocation |
0.0 | 1 | 1984 | A Less Dynamic Memory Allocation Scheme for Algol-like Languages · POPL 1984 |
Programming languages and type systems › type systems
static typing |
0.0 | 1 | 1988 | Lifetime Analysis of Dynamically Allocated Objects · POPL 1988 |
Programming languages and type systems
block-structured languages |
0.0 | 1 | 1984 | A Less Dynamic Memory Allocation Scheme for Algol-like Languages · POPL 1984 |
Methods — techniques the papers use, named apart from their topics
static analysis · 0.0display elimination · 0.0call graph analysis · 0.0
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2010 | Introducing concurrency in CS 1abstractBecause of the growing importance of concurrent programming, many people are trying to figure out where in the curriculum to introduce students to concurrency. In this paper we discuss the use of concurrency in an introductory computer science course. This course, which has been taught for ten years, introduces concurrency in the context of event-driven programming. It also makes use of graphics and animations with the support of a library that reduces the syntactic overhead of using these constructs. Students learn to use separate threads in a way that enables them to write programs that match their intuitions of the world. While the separate threads do interact, programs are selected so that race conditions are generally not an issue. Kim B. Bruce, Andrea Pohoreckyj Danyluk, Thomas P. Murtagh |
SIGCSE | 3 |
| 2010 | Nifty assignments
Nick Parlante, Julie Zelenski, Zachary Dodds, Wynn Vonnegut, David J. Malan, Thomas P. Murtagh, Todd W. Neller, Mark Sherriff, Daniel Zingaro |
SIGCSE | 6 |
| 2009 | Nifty assignmentsabstractAssignments determine much of what students actually take away from a course. Sadly, creating successful assignments is difficult and error prone. With that in mind, the Nifty Assignments session is about promoting and sharing successful assignment ideas, and more importantly, making the assignment materials available for others to adopt. Nick Parlante, Thomas P. Murtagh, Mehran Sahami, Owen L. Astrachan, David W. Reed, Christopher A. Stone, Brent Heeringa, Karen L. Reid |
SIGCSE | 2 |
| 2007 | Weaving CS into CS1: a doubly depth-first approachabstractWe describe a new introductory course based on an unusual approach to the development of a breadth-first curriculum. The course focuses on exploring examples that illustrate a broad collection of the facets of computer science, but it draws all of these examples from a single subfield, computer networks. We demonstrate how this approach provides a more coherent educational experience for students while emphasizing the essentials that tie all of the fields of our discipline together. Thomas P. Murtagh |
SIGCSE | 1 |
| 2007 | Squint: barely visible library support for CS1abstractSquint is a Java library developed to support the use of event-driven programming and network applications in programming examples for a CS1 curriculum. We present the design of the library, emphasizing techniques employed to minimize the effort students expend learning features specific to the library. We also compare Squint to an established library that supports event-driven programming in CS1, emphasizing ways in which the two libraries support similar pedagogical approaches. Thomas P. Murtagh |
SIGCSE | 1 |
| 2005 | Why structural recursion should be taught before arrays in CS 1abstractThe approach to teaching recursion in introductory programming courses has changed little during the transition from procedural to object-oriented languages. It is still common to present recursion late in the course and to focus on traditional, procedural examples such as calculating factorials or solving the Towers of Hanoi puzzle. In this paper, we propose that the shift to object-oriented programming techniques calls for a significant shift in our approach to teaching recursion. First, we argue that in the context of object-oriented programming students should be introduced to examples of simple recursive structures such as linked lists and methods that process them, before being introduced to traditional procedural examples. Second, we believe that this material should be presented before students are introduced to structures such as arrays. In our experience, the early presentation of recursive structures provides the opportunity to reinforce the fundamentals of defining and using classes and better prepares students to appreciate the reasons to use classes to encapsulate access to other data structures when they are presented. Kim B. Bruce, Andrea Pohoreckyj Danyluk, Thomas P. Murtagh |
SIGCSE | 3 |
| 2001 | Event-driven programming is simple enough for CS1abstractWe have recently designed a CS 1 course that integrates event-driven programming from the very start. Our experience teaching this course runs counter to the prevailing sense that these techniques would add complexity to the content of CS 1. Instead, we found that they were simple to present and that they also simplified the presentation of other material in the course. In this paper, we explain the approach we used to introduce event-driven methods and discuss the factors underlying our success. Kim B. Bruce, Andrea Pohoreckyj Danyluk, Thomas P. Murtagh |
ITiCSE | 3 |
| 2001 | Teacing breadth-first depth-firstabstractThis paper argues that current approaches to teaching the introductory course for the CS major fail to provide students with an accurate sense of the nature of our field. We propose that an introductory course focused on a single sub-field of our discipline could better prepare potential majors by using that sub-field as a vehicle to present an overview of the techniques and principles fundamental to computer science. We discuss our experience with such a course based on the field of computer networks. Thomas P. Murtagh |
ITiCSE | 1 |
| 2001 | A library to support a graphics-based object-first approach to CS 1abstractIn this paper we describe a library we have developed that supports an "OO-from-the-beginning" approach to CS 1. The use of real graphics "objects" and event-driven programming are important components of our approach. The design of interactive graphical programs helps students to both use objects and write methods early while designing and implementing interesting programs. Kim B. Bruce, Andrea Pohoreckyj Danyluk, Thomas P. Murtagh |
SIGCSE | 3 |
| 1993 | Safe and Decidable Type Checking in an Object-Oriented LanguageabstractOver the last several years, much interesting work has been done in modelling object-oriented programming languages in terms of extensions of the bounded second-order lambda calculus, F . Unfortunately, it has recently been shown by Pierce ([Pie92]) that type checking F is undecidable. Moreover, he showed that the undecidability arises in the seemingly simpler problem of determining whether one type is a subtype of another. In [Bru93a, Bru93b], the first author introduced a statically-typed, functional, object-oriented programming language, TOOPL, which supports classes, objects, methods, instance variables, subtypes, and inheritance. The semantics of TOOPL is based on F , so the question arises whether type checking in this language is decidable. In this paper we show that type checking for TOOPLE, a minor variant of TOOPL (Typed Object-Oriented Programming Language), is decidable. The proof proceeds by showing that subtyping is decidable, that all terms of TOOPLE have minimum types... Kim B. Bruce, Jonathan Crabtree, Thomas P. Murtagh, Robert van Gent, Allyn Dimock, Robert Muller |
OOPSLA | 3 |
| 1991 | An Improved Storage Management Scheme for Block Structured LanguagesabstractThe conventional storage allocation scheme for block structured languages requires the allocation of stack space and the building of a dmplay with each procedure call.Several techniques have been proposed for analyzing the call graph of a program that make it possible to eliminate these operations from many call sequences.In this paper.we compare these techniques and propose an improved allocation scheme which can substantially reduce allocation overhead, even in the presence of recursion and support for separate compilation. Thomas P. Murtagh |
ACM Trans. Program. Lang. Syst. | 1 |
| 1988 | Lifetime Analysis of Dynamically Allocated ObjectsabstractThe choice of binding time disciplines has major consequences for both the run-time efficiency of programs and the convenience of the language expressing algorithms. Late storage binding time, dynamic allocation, provides the flexibility necessary to implement the complex data structures common in today's object oriented style of programming. In this paper we show that compile-time lifetime analysis can be applied to programs written in languages with static type systems and dynamically allocated objects, to provide earlier storage binding time for objects, while maintaining all the advantages of dynamic allocation. Cristina Ruggieri, Thomas P. Murtagh |
POPL | 2 |
| 1987 | Redundant Proofs of Non-Interference in Levin-Gries CSP Program Proofs
Thomas P. Murtagh |
Acta Informatica | 1 |
| 1986 | The Tilde File Naming Scheme
Douglas Comer, Thomas P. Murtagh |
ICDCS | 2 |
| 1986 | Eliminating Proofs of Non-interference from Levin-Gries CSP Program Proofs
Thomas P. Murtagh |
ICDCS | 1 |
| 1984 | A Less Dynamic Memory Allocation Scheme for Algol-like LanguagesabstractThe conventional storage allocation scheme for block structured languages requires the allocation of stack space and the building of a display with each procedure call. This paper describes a technique for analyzing the call graph of a program in a block structured language that makes it possible to eliminate these operations from many call sequences, even in the presence of recursion. Thomas P. Murtagh |
POPL | 1 |