Demo Data from SIGIR 2026 / reviewers in the wild / expert
Samuel N. Kamin
dblp:k/SamuelNKamin · also Sam Kamin
· DBLP profile ↗
24ranked-venue papers
11as first author
0since 2021 · last 2016
—ORCID · none
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 13 · 8 first-authorHuman-computer interaction and ubiquitous computing · 5 · 1 first-authorSystems, architecture and hardware · 3 · 1 first-authorTheory of computation · 3 · 2 first-authorDatabases, data management, data science and information retrieval · 1 · 1 first-authorApplied, interdisciplinary, general and emerging computing · 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
8 papers |
Compilers and program optimization · 79% Runtime systems and virtual machines · 16% Programming languages and type systems · 4% | |
| Computer architecture, parallel and distributed computing, and storage systems
1 paper |
High-performance computing · 100% |
Topics — the 18 heaviest of 19, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Compilers and program optimization
autotuning |
0.2 | 1 | 2016 | Autotuning Runtime Specialization for Sparse Matrix-Vector Multiplication · ACM Trans. Archit. Code Optim. 2016 |
Compilers and program optimization › program specialization
runtime specialization |
0.2 | 1 | 2016 | Autotuning Runtime Specialization for Sparse Matrix-Vector Multiplication · ACM Trans. Archit. Code Optim. 2016 |
High-performance computing › sparse linear algebra
sparse matrix computation |
0.2 | 1 | 2016 | Autotuning Runtime Specialization for Sparse Matrix-Vector Multiplication · ACM Trans. Archit. Code Optim. 2016 |
High-performance computing › sparse linear algebra › sparse matrix computation
sparse matrix-vector multiplication |
0.2 | 1 | 2016 | Autotuning Runtime Specialization for Sparse Matrix-Vector Multiplication · ACM Trans. Archit. Code Optim. 2016 |
Compilers and program optimization
code generation |
0.1 | 1 | 2011 | CoDeSe: fast deserialization via code generation · ISSTA 2011 |
Programming languages and type systems
language semantics |
0.0 | 4 | 1988 | Inheritance in Smalltalk-80: A Denotational Definition · POPL 1988 A Complete and Consistent Hoare Axiomatics for a Simple Programming Language · J. ACM 1979 A Complete and Consistent Hoare Semantics for a Simple Programming Language · POPL 1977 |
Programming languages and type systems › language semantics › formal semantics
denotational semantics |
0.0 | 1 | 1988 | Inheritance in Smalltalk-80: A Denotational Definition · POPL 1988 |
Programming languages and type systems
object-oriented programming |
0.0 | 1 | 1988 | Inheritance in Smalltalk-80: A Denotational Definition · POPL 1988 |
Programming languages and type systems › data types
data type specification |
0.0 | 2 | 1983 | Final Data Types and Their Specification · ACM Trans. Program. Lang. Syst. 1983 Final Data Tye Specifications: A New Data Type Specification Method · POPL 1980 |
Programming languages and type systems › specification language
algebraic specification |
0.0 | 1 | 1986 | Executable Specifications with Quantifiers in the FASE System · POPL 1986 |
Requirements engineering and software design › specification
executable specification |
0.0 | 1 | 1986 | Executable Specifications with Quantifiers in the FASE System · POPL 1986 |
Logic in computer science
formal semantics |
0.0 | 1 | 1986 | Executable Specifications with Quantifiers in the FASE System · POPL 1986 |
Programming languages and type systems › language semantics › formal semantics
axiomatic semantics |
0.0 | 2 | 1979 | A Complete and Consistent Hoare Axiomatics for a Simple Programming Language · J. ACM 1979 A Complete and Consistent Hoare Semantics for a Simple Programming Language · POPL 1977 |
Program verification › program logic
hoare axiomatics |
0.0 | 2 | 1979 | A Complete and Consistent Hoare Axiomatics for a Simple Programming Language · J. ACM 1979 A Complete and Consistent Hoare Semantics for a Simple Programming Language · POPL 1977 |
Program verification › program logic
hoare logic |
0.0 | 2 | 1979 | A Complete and Consistent Hoare Axiomatics for a Simple Programming Language · J. ACM 1979 A Complete and Consistent Hoare Semantics for a Simple Programming Language · POPL 1977 |
Logic in computer science
algebraic specification |
0.0 | 2 | 1983 | Final Data Tye Specifications: A New Data Type Specification Method · POPL 1980 Final Data Types and Their Specification · ACM Trans. Program. Lang. Syst. 1983 |
Programming languages and type systems › language semantics › formal semantics
executable semantics |
0.0 | 1 | 1988 | Inheritance in Smalltalk-80: A Denotational Definition · POPL 1988 |
Computational complexity
proof complexity |
0.0 | 1 | 1979 | A Complete and Consistent Hoare Axiomatics for a Simple Programming Language · J. ACM 1979 |
Methods — techniques the papers use, named apart from their topics
code generation · 0.6feature-based prediction · 0.5auto-tuning · 0.5quantifier evaluation · 0.0denotational semantics · 0.0Standard ML · 0.0final algebra semantics · 0.0completeness proof · 0.0hoare logic · 0.0consistency proof · 0.0
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2016 | Autotuning Runtime Specialization for Sparse Matrix-Vector MultiplicationabstractRuntime specialization is used for optimizing programs based on partial information available only at runtime. In this paper we apply autotuning on runtime specialization of Sparse Matrix-Vector Multiplication to predict a best specialization method among several. In 91% to 96% of the predictions, either the best or the second-best method is chosen. Predictions achieve average speedups that are very close to the speedups achievable when only the best methods are used. By using an efficient code generator and a carefully designed set of matrix features, we show the runtime costs can be amortized to bring performance benefits for many real-world cases. Buse Yilmaz, Baris Aktemur, María Jesús Garzarán, Samuel N. Kamin, Furkan Kiraç |
ACM Trans. Archit. Code Optim. | 4 |
| 2014 | Optimization by runtime specialization for sparse matrix-vector multiplicationabstractRuntime specialization optimizes programs based on partial information available only at run time. It is applicable when some input data is used repeatedly while other input data varies. This technique has the potential of generating highly efficient codes. In this paper, we explore the potential for obtaining speedups for sparse matrix-dense vector multiplication using runtime specialization, in the case where a single matrix is to be multiplied by many vectors. We experiment with five methods involving runtime specialization, comparing them to methods that do not (including Intel's MKL library). For this work, our focus is the evaluation of the speedups that can be obtained with runtime specialization without considering the overheads of the code generation. Our experiments use 23 matrices from the Matrix Market and Florida collections, and run on five different machines. In 94 of those 115 cases, the specialized code runs faster than any version without specialization. If we only use specialization, the average speedup with respect to Intel's MKL library ranges from 1.44x to 1.77x, depending on the machine. We have also found that the best method depends on the matrix and machine; no method is best for all matrices and machines. Samuel N. Kamin, María Jesús Garzarán, Baris Aktemur, Danqing Xu, Buse Yilmaz, Zhongbo Chen |
GPCE | 1 |
| 2013 | Measuring increased engagement using tablet PCs in a code review classabstractThe Programming Studio in the University of Illinois Computer Science department is a required course in which small groups of students participate in weekly code reviews of each other's programs. To increase student engagement in the discussions, Tablet PCs were introduced for several weeks in the middle of the semester. By recording the discussions before, during, and after the use of tablets, we measure the effectiveness of this intervention. In doing so, we develop a simple metric to measure the "active engagement" of the participants. We found each section was significantly more engaging when using Tablet PCs (p<0.0001) and the large majority of individual participants were more engaged. This paper contributes both an objective measurement of "active engagement" and a successful intervention in a programming studio-type course. Wade A. Fagen, Samuel N. Kamin |
SIGCSE | 2 |
| 2011 | CoDeSe: fast deserialization via code generationabstractMany tools for automated testing, model checking, and debugging store and restore program states multiple times. Storing/restoring a program state is commonly done with serialization/deserialization. Traditionally, the format for stored states is based on data: serialization generates the data that encodes the state, and deserialization interprets this data to restore the state. We propose a new approach, called CoDeSe, where the format for stored states is based on code: serialization generates code whose execution restores the state, and deserialization simply executes the code. We implemented CoDeSe in Java and performed a number of experiments on deserialization of states. CoDeSe provides on average more than 6X speedup over the highly optimized deserialization from the standard Java library. Our new format also allows simple parallel deserialization that can provide additional speedup on top of the sequential CoDeSe but only for larger states. Milos Gligoric 0001, Darko Marinov, Samuel N. Kamin |
ISSTA | 3 |
| 2008 | A system for developing tablet pc applications for educationabstractWe describe a new system for building Tablet PC-based classroom software. The system, called SLICE, is built for extensibility, using a unique "explicit state" model. Samuel N. Kamin, Michael Hines, Chad Peiper, Boris Capitanu |
SIGCSE | 1 |
| 2007 | Programming studio: a course for improving programming skills in undergraduatesabstractEven after taking numerous programming courses, many students have poor programming skills. This is a problem not only in their post-graduation employment, but even in the higher-level Computer Science courses, where large programs are routinely assigned. Yet, teaching programming skills is expensive; like teaching writing, it can only be accomplished by a repeated cycle of writing, getting informed feedback, and rewriting. In this paper, we describe a computer science course designed around the concept of a studio course like those used in art and architecture. Its key elements are practice, public presentation, and review by peers in a small group. We discuss our experience in teaching the course for two years. We believe this course can be replicated and taught, at reasonable cost, even in large CS departments. Michael Woodley, Samuel N. Kamin |
SIGCSE | 2 |
| 2006 | Staging static analyses for program generationabstractProgram generators are most naturally specified using a quote/antiquote facility; the programmer writes programs with holes which are filled in, at program generation time, by other program fragments. If the programs are generated at compile-time, analysis and compilation follow generation, and no changes in the compiler are needed. However, if program generation is done at run time, compilation and analysis need to be optimized so that they will not overwhelm overall execution time. In this paper, we give a compositional framework for defining program analyses which leads directly to a method of staging these analyses. The staging allows the analysis of incomplete programs to be started at compile time; the residual work to be done at run time may be much less costly than the full analysis. We give frameworks for forward and backward analyses, present several examples of specific analyses, and give timing results showing significant speed-ups for the run-time portion of the analysis relative to the full analysis. Samuel N. Kamin, Baris Aktemur, Michael Katelman |
GPCE | 1 |
| 2006 | Scavenger hunt: computer science retention through orientationabstractThis paper describes Scavenger Hunt, a team-based orientation activity for incoming freshmen in the Department of Computer Science at the University of Illinois at Urbana-Champaign. Like many large research universities, Illinois has struggled with the high attrition rate of first-year students in computing disciplines. Scavenger Hunt, which has been held each of the past three years, is intended to foster a sense of community within the department and acclimate new students to undergraduate life as computer science majors. A unique aspect of the activity is the use of handheld computers to manage most aspects of the competition, which enables physically handicapped students to participate on an equal footing with their able-bodied peers. Thus far, Scavenger Hunt has been directly responsible for the increased participation of new students in departmental activities and organizations. In addition, we have observed a significant correlation between student participation in Scavenger Hunt and retention rates in the department. Along with other retention-oriented activities, Scavenger Hunt is measurably improving the attitude of new students towards computer science. Jerry O. Talton, Daniel L. Peterson, Samuel N. Kamin, Deborah Israel, Jalal Al-Muhtadi |
SIGCSE | 3 |
| 2005 | Optimizing Marshalling by Run-Time Program Generation
Baris Aktemur, Joel Jones, Samuel N. Kamin, Lars Ræder Clausen |
GPCE | 3 |
| 2005 | Source-Level Optimization of Run-Time Program Generators
Samuel N. Kamin, Baris Aktemur, Philip Morton |
GPCE | 1 |
| 2005 | eFuzion: development of a pervasive educational systemabstractEstablished as a research project at the University of Illinois in the spring of 2002, eFuzion has proven to be a valuable and effective pedagogical set of tools. It provides the capacity to both mentor and assess students individually, both during and outside of class. In the summer of 2002, a study we conducted revealed that eFuzion's in-class tools increased student's final grade by more than 6 points. In this paper we describe the evolution of our system and experiences leading up to our "Classroom of the Future" demo for the Grand Opening of the Thomas M. Siebel Center for Computer Science. We conclude with a discussion of our future plans for eFuzion. Chad Peiper, David Warden, Ellick Chan, Boris Capitanu, Samuel N. Kamin |
ITiCSE | 5 |
| 2004 | Invited application paper: program generation considered easyabstractProgrammers frequently write program generators using the simple model of programs as text. The essence of this approach is its lack of structure. For this reason, it gets no respect from academic researchers. But the flip side of lacking structure is freedom from restrictions. We argue that the latter is important, and perhaps essential, in finding a willing audience for program generation among working programmers. Jumbo is a system for producing run-time program generators, which is designed to offer the programmer a "programs as strings" model to as great an extent as possible, though some constraints are inevitable. We show by several examples that these constraints still allow for both a natural and a powerful program generation model. We then discuss how the approach taken by Jumbo, though possessing less structure than some competing methods, still raises scientific problems that ought to be of interest to researchers in this area. Samuel N. Kamin |
PEPM | 1 |
| 2003 | Jumbo: Run-Time Code Generation for Java and Its ApplicationsabstractRun-time code generation is a well-known technique for improving the efficiency of programs by exploiting dynamic information. Unfortunately, the difficulty of constructing run-time code-generators has hampered their widespread use. We describe Jumbo, a tool for easily creating run-time code generators for Java. Jumbo is a compiler for a two-level version of Java, where programs can contain quoted code fragments. The Jumbo API allows the code fragments to be combined at run-time and then executed. We illustrate Jumbo with several examples that show significant speedups over similar code written in plain Java, and argue further that Jumbo is a generalized software component system. Samuel N. Kamin, Lars Ræder Clausen, Ava Jarvis |
CGO | 1 |
| 2000 | Metacomputation-Based Compiler Architecture
William L. Harrison, Samuel N. Kamin |
MPC | 2 |
| 2000 | Annotating Java class files with virtual registers for performanceabstractThe Java .class file is a compact encoding of programs for a stack-based virtual machine. It is intended for use in a networked environment, which requires machine independence and minimized consumption of network bandwidth. However, as in all interpreted virtual machines, performance does not match that of code generated for the target machine. We propose verifiable, machine-independent annotations to the Java class file to bring the quality of the code generated by a ‘just-in-time’ compiler closer to that of an optimizing compiler without a significant increase in code generation time. This division of labor has expensive machine-independent analysis performed off-line and inexpensive machine-dependent code-generation performed on the client. We call this phenomenon ‘super-linear analysis and linear exploitation.’ These annotations were designed mindful of the concurrency features of the Java language. In this paper we report results from our machine-independent, prioritized register assignment. We also discuss other possible annotations. Copyright © 2000 John Wiley & Sons, Ltd. Joel Jones, Samuel N. Kamin |
Concurr. Pract. Exp. | 2 |
| 1993 | On the Power of Abstract Interpretation
Uday S. Reddy, Samuel N. Kamin |
Comput. Lang. | 2 |
| 1992 | Head-Strictness is Not a Monotonic Abstract Property
Samuel N. Kamin |
Inf. Process. Lett. | 1 |
| 1988 | Inheritance in Smalltalk-80: A Denotational DefinitionabstractA denotational semantic definition of SMALLTALK-80 is given. Its most notable characteristic is a surprisingly simple treatment of inheritance. An executable version of the semantics, written in STANDARD ML, is also described. Samuel N. Kamin |
POPL | 1 |
| 1987 | The Expressive Theory of Stacks
Samuel N. Kamin |
Acta Informatica | 1 |
| 1986 | Executable Specifications with Quantifiers in the FASE SystemabstractWe present an overview of the FASE system for executable specifications based upon final, rather than initial, algebras. Particular emphasis is placed upon the execution of expressions involving quantifiers. The need for such expressions is explained, as is our method for evaluating them. By permitting quantifiers, we are able to give very natural specifications for many data types. As an example, we give the FASE specification of Kemmerer's library system. Stan Jefferson, Samuel N. Kamin |
POPL | 2 |
| 1983 | Final Data Types and Their SpecificationabstractA data type specification is a description of the properties of a data abstraction for the benefit of its users and implementers.The data abstraction has realizations, all of which behave in a certain way.It is those properties implied by this behavior which we consider essential; properties specific to some realization are extraneous.The specification problem is to present all of the essential properties and no extraneous ones.We propose a specification method based upon the notion of "final data type."A final data type is the smallest structure having a given behavior; every other structure having that behavior maps onto it homomorphically.This property makes the final data type specification a particularly good source of information about the abstraction it realizes, and eliminates "implementation bias" from the method. Samuel N. Kamin |
ACM Trans. Program. Lang. Syst. | 1 |
| 1980 | Final Data Tye Specifications: A New Data Type Specification MethodabstractA new specification method for data types is presented, which is distinguished by the semantic objects it specifies. In particular, only final data types [GGM,W] are specifiable. A final data type is one in which no two elements are "input-output equivalent". It is argued that the mathematical properties of final data types characterize abstractness on the semantic level.Examples are given to show that final data type specifications are easy to construct and use. Samuel N. Kamin |
POPL | 1 |
| 1979 | A Complete and Consistent Hoare Axiomatics for a Simple Programming LanguageabstractA sunple programming language ffm IS defined for which a complete axiomatics is obtamable.Completeness is shown by presemmg a relauvely complete Hoare ax~omaUcs, demonstrating, by direct constmcuon, that the first-order theory of addmon ~+ as express,ve, and noting that ~+ Is complete.It is then shown that • ~m aS maxunal wath this property Further, a notton of complexity of a Hoare system is introduced based upon the lengths of proofs (dasregardmg proofs m the underlying logsc), and the system -~m, .~+ is shown to have polynomial complexity The nouon ts shown to be nontnvlal by presenting a language for which any Hoare axiom system has exponenual complextty rK~v WORDS AND PHRASES venficatmn, logic, complexity, theory of computation, programming languages, subrecurslve functions CR CATEGORIES' 5 21, 5 24, 5 25 John C. Cherniavsky, Samuel N. Kamin |
J. ACM | 2 |
| 1977 | A Complete and Consistent Hoare Semantics for a Simple Programming LanguageabstractArticle A complete and consistent hoare axiomatics for a simple programming language Share on Authors: J. Cherniavsky SUNY at Stony Brook, N.Y. SUNY at Stony Brook, N.Y.View Profile , S. Kamin SUNY at Stony Brook, N.Y. SUNY at Stony Brook, N.Y.View Profile Authors Info & Claims POPL '77: Proceedings of the 4th ACM SIGACT-SIGPLAN symposium on Principles of programming languagesJanuary 1977 Pages 1–9https://doi.org/10.1145/512950.512951Online:01 January 1977Publication History 3citation179DownloadsMetricsTotal Citations3Total Downloads179Last 12 Months21Last 6 weeks0 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 SiteGet Access John C. Cherniavsky, Samuel N. Kamin |
POPL | 2 |