Buy used:
$131.98
FREE delivery Wednesday, July 24. Order within 22 hrs 34 mins
Used: Like New | Details
Sold by bookyogi
Condition: Used: Like New
Access codes and supplements are not guaranteed with used items.
Kindle app logo image

Download the free Kindle app and start reading Kindle books instantly on your smartphone, tablet, or computer - no Kindle device required.

Read instantly on your browser with Kindle for Web.

Using your mobile phone camera - scan the code below and download the Kindle app.

QR code to download the Kindle App

Follow the author

Something went wrong. Please try your request again later.

Software Abstractions: Logic, Language, and Analysis Revised Edition

4.6 4.6 out of 5 stars 29 ratings

An approach to software design that introduces a fully automated analysis giving designers immediate feedback, now featuring the latest version of the Alloy language.

In Software Abstractions Daniel Jackson introduces an approach to software design that draws on traditional formal methods but exploits automated tools to find flaws as early as possible. This approach—which Jackson calls “lightweight formal methods” or “agile modeling”—takes from formal specification the idea of a precise and expressive notation based on a tiny core of simple and robust concepts but replaces conventional analysis based on theorem proving with a fully automated analysis that gives designers immediate feedback. Jackson has developed Alloy, a language that captures the essence of software abstractions simply and succinctly, using a minimal toolkit of mathematical notions. This revised edition updates the text, examples, and appendixes to be fully compatible with Alloy 4.


Amazon First Reads | Editors' picks at exclusive prices

Editorial Reviews

About the Author

Daniel Jackson is Professor in the Department of Electrical Engineering and Computer Science and leads the Software Design Group at the Computer Science and Artificial Intelligence Lab at MIT.

Product details

  • ASIN ‏ : ‎ 0262017156
  • Publisher ‏ : ‎ Mit Pr; Revised edition (February 1, 2012)
  • Language ‏ : ‎ English
  • Hardcover ‏ : ‎ 354 pages
  • ISBN-10 ‏ : ‎ 9780262017152
  • ISBN-13 ‏ : ‎ 978-0262017152
  • Item Weight ‏ : ‎ 1.4 pounds
  • Dimensions ‏ : ‎ 0.75 x 6.25 x 9 inches
  • Customer Reviews:
    4.6 4.6 out of 5 stars 29 ratings

About the author

Follow authors to get new release updates, plus improved recommendations.
Daniel Jackson
Brief content visible, double tap to read full content.
Full content visible, double tap to read brief content.

Daniel Jackson is professor of computer science and associate director of CSAIL, MIT’s largest lab. His software research won an Impact Award and Outstanding Research Award from the Association for Computing Machinery, and he is an ACM Fellow. He is lead designer of the Alloy software modeling language. He chaired a National Academies study on software dependability, and has collaborated on software projects with NASA on air-traffic control, with Massachusetts General Hospital on proton therapy, and with Toyota on autonomous cars.

Jackson is also a photographer. His book, Portraits of Resilience, which combines stories and photographic portraits of people who had experienced mental health challenges, was featured on PBS's Newshour and NPR’s Here and Now.

Customer reviews

4.6 out of 5 stars
4.6 out of 5
29 global ratings

Top reviews from the United States

Reviewed in the United States on April 20, 2023
I'm constantly on the lookout for new books that give me new insights into improving software development. Over and over again I see people recommend "Code Complete", "SICP", "Clean Code", etc. but I have only recently seen someone recommend this book and I'm delighted to have finally found it.

I love the writing style and the author presents things so clearly. The Alloy language is beautiful and succinct and the book describes how to get the most out of the Alloy tool. Yes, the Alloy language has made some significant advances since this book was written but this is still a fantastic book to learn the majority of Alloy's features.
2 people found this helpful
Report
Reviewed in the United States on January 27, 2016
Good and readable introduction to Alloy.

You probably want the printed edition. Unfortunately, the Kindle edition version is the older the first edition.

This is not Amazon's fault -- MIT Press site has no ebook version of the second edition.
5 people found this helpful
Report
Reviewed in the United States on May 7, 2014
Good book for learning the fundamentals of Alloy. It's written in a very accessible fashion. I only wish there were a few more non-trivial examples to show how to apply Alloy to model different kinds of problems, since the challenge with these types of modeling languages is not just mastering the basic functionality, but understanding how to apply them to solve problems.
4 people found this helpful
Report
Reviewed in the United States on August 16, 2015
An interesting book on the use of Formal verification for software problems. Worth a read if pursuing topics in hardware verification and software testing.
2 people found this helpful
Report
Reviewed in the United States on January 4, 2020
Good but out dated
One person found this helpful
Report
Reviewed in the United States on April 8, 2017
Great book and I think it is rather clear.
One person found this helpful
Report
Reviewed in the United States on August 13, 2013
and there is a 2011 revision of this book that adds changes and new library info
along with new capabiilies.
5 people found this helpful
Report
Reviewed in the United States on June 5, 2007
This book describes Alloy, a tool for specifying and analyzing data structures and other relationships within your programs. The book walks you through a tutorial, showing you how you can find the bugs in your specifications before you actually write any code, and then goes into the details of the language and its semantics.

I think I was exactly the target audience for this book (and the Alloy language), as I write a lot of Java software and have been looking for a practical specification tool. I've heard of other people who were less happy with this book, as they were trying to learn _about_ Alloy rather than learning Alloy itself. There is some material at the beginning and end that compares and contrasts Alloy with other specification languages, but the real value of this book comes in the middle where it teaches you how to use Alloy effectively.
18 people found this helpful
Report

Top reviews from other countries

Translate all reviews to English
5.0 out of 5 stars I learnt a great deal of stuff from this well-written text
Reviewed in India on January 15, 2015
Absolutely fabulous book. I learnt a great deal of stuff from this well-written text. Highly recommended.
2 people found this helpful
Report
カスタマー
4.0 out of 5 stars 形式手法Alloyの本
Reviewed in Japan on May 29, 2008
Lightweight Formal Methodsの先駆けである、Alloyについての書籍。
Alloyは集合とリレーションに基づいている。
SPINなどのモデル検証ツールよりも数学的な知識が必要だが、
慣れれば単純明快なモデルの記述が可能だ。

書籍でのAlloyのバージョンは少々古いので注意が必要。
最新版(現時点では4.1.5)では文法が変更されている。

星4つとしたのは(意図的と思われるが)数学記号が文面に一切ない点。

いずれにしてもAlloyは、今後が非常に楽しみなツールだ。
2 people found this helpful
Report
Lausdahl
4.0 out of 5 stars Four Stars
Reviewed in the United Kingdom on July 29, 2014
I can definitely recommend this book, well written, and interesting.