Forthcoming titles in the ACM Books Series are subject to change and will be published as they become available, with 25 titles to be published in each Collection. Upon publication, each of the following books will appear in the ACM Digital Library and be accessible to those with full-text access in both PDF and ePub formats. Individual titles will be available for purchase at Amazon and Barnes & Noble. Please click on the title names below for more information.
In Development
Abstract:
Behavior Informatics emerges as an important tool for discovering behavior intelligence and behavior insight. As a computational concept, behavior captures the aspects of the demographics of behavioral subjects and objects. Accordingly, a behavior model captures the subject and the object of a behavior or behavior sequence, the activities conducted by its subject on objects, and the relationships between activities. This book introduces some of the real-life applications of behavior informatics in core business, capital markets and government services.
Abstract:
This books describes recent efforts in designing techniques for indexing and mining truly massive collections of data series that will enable scientists to easily analyze their data, and presents a vision for the future in big sequence management research.
Author(s): Nathan Allen, Hammond Pearce, and Partha Roop
Abstract:
Biomedical systems use embedded controllers to control physical processes, and consequently form a class of devices known as cyber-physical systems (CPS). Such devices are safety-critical: any error in their operation can have catastrophic consequences. In this textbook, we present a thorough overview of the state of the art in the design space for biomedical CPS, including example exercises with associated and interactive laboratory software. We cover the benefits and methods for synchronous programming, heart modeling, and cybersecurity consideration, and organize the textbook such that it could be used as the basis for a university-level courses in Biomedical Engineering as well as embedded / cyber-physical systems. We cover topics from the point of view of undergraduate students all the way to practicing engineers and graduate students. By covering the design, safety and security of such systems, we envisage a comprehensive text, which will be useful for both biomedical engineers and computer engineers.
Author(s): Pat Helland
Abstract:
This book in the ACM Turing Award series focuses on the life and contributions of Jim Gray. Jim was dedicated to the mentoring, nurturing, and development of individuals and the scientific community with a special emphasis on computer science education, and his curiosity and passion for learning led him into new and uncharted areas within systems computing. The book follows Jim’s exploration of eight major areas of systems computing: systems, transactions, databases, availability, performance, sort, scale, and eScience.
Author(s): Wolfgang Gatterbauer
Abstract:
Historically, lack of transparency and low standards for e-voting system implementations have resulted in a culture where open source code is seen as a gold standard; however, this ignores the issue of the comprehensibility of that code. This books makes concrete empirical recommendations based on experiences and findings from examining the source code of e-voting systems. It highlights that any solution used for significant elections should be well-designed, carefully analyzed, deftly built, accurately documented and expertly maintained.
Author(s): Rocco Servedio
Abstract:
ACM Books is pleased to announce the signing of a new book in our Turing Award series, Foundations of Computation and Machine Learning: The Work of Leslie Valiant, edited by Rocco Servedio of Columbia University.
Valiant received the prestigious ACM Turing Award in 2010 for "transformative contributions to the theory of computation, including the theory of probably approximately correct (PAC) learning, the complexity of enumeration and of algebraic computation, and the theory of parallel and distributed computing." The book will feature a short biography of Valiant, as well as analysis of his seminal works by today's leading computer scientists.
Abstract:
This book is an introduction to data structures and algorithms for functional languages, with a focus on proofs. It covers both functional correctness and running time analysis.
Author(s): Tobias Nipkow et al.
Abstract:
This book is an introduction to data structures and algorithms for functional languages, with a focus on proofs. It covers both functional correctness and running time analysis. It does so in a unified manner with inductive proofs about functional programs and their running time functions. The unique feature of this book is that all the proofs have been machine- checked by the proof assistant Isabelle. That is, in addition to the text in the book, which requires no knowledge of proof assistants, there are the Isabelle definitions and proofs that can be accessed by following (in the PDF file) the links attached to section headings with a symbol. The structured nature of Isabelle proofs permits even novices to browse them and follow the high-level arguments. This book has been classroom-tested for a number of years in a course for graduate and advanced undergraduate students. At the same time it is a reference for programmers and researchers who are interested in the details of some algorithm or proof.
Author(s): Edward Y. Chang
Abstract:
Multi-LLM Agent Collaborative Intelligence (MACI) advances a simple thesis: general intelligence will arise from orchestrated cooperation among specialized language-model agents, not from ever-larger monoliths. Over five years of research we have layered eight capabilities, reflective reasoning, critical self-evaluation, structured debate, information-theoretic dialogue control, affect-aware style modulation, cultural-ethical adjudication, iterative "think-validate" loops, and transactional long-horizon planning, into one cohesive architecture with shared memory and rollback. Fourteen design aphorisms distil the core insight: intelligence emerges from regulated collaboration, balancing exploratory disagreement with convergent synthesis. Experiments in planning, clinical diagnosis, and policy analysis show that MACI ensembles consistently exceed single-model baselines in reasoning depth, planning horizon, and ethical reliability, without adding parameters. Orchestrated multi-agent systems, rigorously validated at each step, offer a practical, interpretable path toward robust AGI.
Author(s): Uday Khedker
Abstract:
Pointer analysis provides information to disambiguate indirect reads and writes of data through pointers and indirect control flow through function pointers or virtual functions. The book focuses on fundamental concepts instead of trying to cover the entire breadth of the literature on pointer analysis. Bibliographic notes point the reader to relevant literature for more details. Rather than being driven completely by pointer analysis’s practical effectiveness, the book evolves the concepts from the first principles based on the language features, brings out the interactions of different abstractions at the level of ideas, and finally, relates them to practical observations and the nature of practical programs.
Author(s): Scott Bateman, Michel Beaudouin-Lafon, Carl Gutwin, and Daniel Vogel
Author(s): Don Batory
Abstract:
This text is about compositional programming, where programs are constructed by composing prewritten software building blocks. Three modern examples are covered, listed in order of decreasing emphasis:
- A Software Product Line (SPL) is a design for a family of programs. Each program is composed from predefined increments of program functionality. The Linux Kernel is the largest known SPL whose family size exceeds 102000 distinct programs.
- Model Driven Engineering (MDE) is a general-purpose engineering methodology to support system design, analysis, construction, and evolution. Software designs are expressed as models. Transformations are composed to convert models into other models for analysis, to produce documentation and/or source.
- Streaming Applications (SA) are dataflow graphs whose nodes are compu-tations/boxes with input and output data streams; boxes are wired/composed together to produce a custom program. Examples are Unix pipe-and-filters and distributed stream processing.
Related topics are also covered: OO refactoring engine implementations, automating refactorings and design patterns.
Advanced SPL topics include feature modularity, feature interactions, product-lines of product lines, refactoring engines for SPL codebases, and efficiently searching colossal product spaces. MDE topics include MDE application design, bootstrapping MDE tools, connections of OCL to Relational database algebra, and verifying refactorings of metamodels. Advanced SA topics explore SA product lines.
Author(s): Vincent Cheval and Alexandre Debant
Author(s): Gavin Lowe
Abstract:
This book describes how to think about computer programs, and how to use mathematics as part of that thinking. Many books and online tutorials teach the basics of coding: the syntax of the language, and how to translate an algorithm into code. But how do you come up with that algorithm? And how can you be confident that the algorithm is correct?
The first part of the book considers small programs that use a loop, and how to demonstrate their correctness using loop invariants. It also covers some algorithms and algorithmic techniques that every programmer should know. The second half of the book considers slightly larger programs. It teaches the basics of modularization, splitting up a program into manageable chunks. It teaches about abstract datatypes, values within a program that can be treated as mathematical values: how to specify their behaviors formally; and how to treat them as abstract mathematical objects when programming. It also teaches how to use data structures to represent abstract datatypes, and what it means for such a representation to be correct. And it presents some abstract datatypes and data structures that every programmer should know.
The book is aimed at those who want to obtain a better understanding of programs they work on and so become better programmers. The target audience ranges from undergraduate students who are just starting out, to professional programmers. The book aims to be pragmatic: the philosophy is to include enough formality to be convincing and to guide the programmer toward correct code, without getting bogged down in the mathematics.
Author(s): Devdatt Dubhashi, Alessandro Panconesi, and Gerardo Schneider
Abstract:
In 1966, the Association of Computing Machinery (ACM), the professional association for Computer Science instituted the Turing Award. It is an annual prize given to an individual selected for contributions "of lasting and major technical importance to the computer field." The Turing Award is generally recognized as the highest distinction in computer science and the "Nobel Prize of computing". Since the first winner in 1966, there have been 71 Turing prize winners and Turing's children continue to flourish. Our aim in this book is to explain the revolutionary ideas of Turing and tell the story of how these ideas have been developed by the Turing prize winners (and others) to create our modern world — from Google search to self-driving cars and ChatGPT, to bitcoin and DNA testing.
Author(s): Herbert Bruderer