Automatic Program Development

Automatic Program Development
Author: Olivier Danvy
Publisher: Springer Science & Business Media
Total Pages: 283
Release: 2008-01-12
Genre: Computers
ISBN: 140206585X

This work, a tribute to renowned researcher Robert Paige, is a collection of revised papers published in his honor in the Higher-Order and Symbolic Computation Journal in 2003 and 2005. Among them there are two key papers: a retrospective view of his research lines, and a proposal for future studies in the area of the automatic program derivation. The book also includes some papers by members of the IFIP Working Group 2.1 of which Bob was an active member.

Release It!

Release It!
Author: Michael T. Nygard
Publisher: Pragmatic Bookshelf
Total Pages: 490
Release: 2018-01-08
Genre: Computers
ISBN: 1680504525

A single dramatic software failure can cost a company millions of dollars - but can be avoided with simple changes to design and architecture. This new edition of the best-selling industry standard shows you how to create systems that run longer, with fewer failures, and recover better when bad things happen. New coverage includes DevOps, microservices, and cloud-native architecture. Stability antipatterns have grown to include systemic problems in large-scale systems. This is a must-have pragmatic guide to engineering for production systems. If you're a software developer, and you don't want to get alerts every night for the rest of your life, help is here. With a combination of case studies about huge losses - lost revenue, lost reputation, lost time, lost opportunity - and practical, down-to-earth advice that was all gained through painful experience, this book helps you avoid the pitfalls that cost companies millions of dollars in downtime and reputation. Eighty percent of project life-cycle cost is in production, yet few books address this topic. This updated edition deals with the production of today's systems - larger, more complex, and heavily virtualized - and includes information on chaos engineering, the discipline of applying randomness and deliberate stress to reveal systematic problems. Build systems that survive the real world, avoid downtime, implement zero-downtime upgrades and continuous delivery, and make cloud-native applications resilient. Examine ways to architect, design, and build software - particularly distributed systems - that stands up to the typhoon winds of a flash mob, a Slashdotting, or a link on Reddit. Take a hard look at software that failed the test and find ways to make sure your software survives. To skip the pain and get the experience...get this book.

A Philosophy of Software Design

A Philosophy of Software Design
Author: John K. Ousterhout
Publisher:
Total Pages: 0
Release: 2021
Genre: Computer programs
ISBN: 9781732102217

"This book addresses the topic of software design: how to decompose complex software systems into modules (such as classes and methods) that can be implemented relatively independently. The book first introduces the fundamental problem in software design, which is managing complexity. It then discusses philosophical issues about how to approach the software design process and it presents a collection of design principles to apply during software design. The book also introduces a set of red flags that identify design problems. You can apply the ideas in this book to minimize the complexity of large software systems, so that you can write software more quickly and cheaply."--Amazon.

Intelligent Systems Design and Applications

Intelligent Systems Design and Applications
Author: Ajith Abraham
Publisher: Springer Nature
Total Pages: 1461
Release: 2022-03-26
Genre: Technology & Engineering
ISBN: 303096308X

This book highlights recent research on intelligent systems and nature-inspired computing. It presents 132 selected papers from the 21st International Conference on Intelligent Systems Design and Applications (ISDA 2021), which was held online. The ISDA is a premier conference in the field of computational intelligence, and the latest installment brought together researchers, engineers and practitioners whose work involves intelligent systems and their applications in industry. Including contributions by authors from 34 countries, the book offers a valuable reference guide for all researchers, students and practitioners in the fields of Computer Science and Engineering.

Program Development in Computational Logic

Program Development in Computational Logic
Author: Maurice Bruynooghe
Publisher: Springer Science & Business Media
Total Pages: 546
Release: 2004-06-17
Genre: Computers
ISBN: 3540221522

1 The tenth anniversary of the LOPSTR symposium provided the incentive for this volume. LOPSTR started in 1991 as a workshop on logic program synthesis and transformation, but later it broadened its scope to logic-based program development in general, that is, program development in computational logic, and hence the title of this volume. The motivating force behind LOPSTR has been the belief that declarative paradigms such as logic programming are better suited to program development tasks than traditional non-declarative ones such as the imperative paradigm. Speci?cation, synthesis, transformation or specialization, analysis, debugging and veri?cation can all be given logical foundations, thus providing a unifying framework for the whole development process. In the past 10 years or so, such a theoretical framework has indeed begun to emerge. Even tools have been implemented for analysis, veri?cation and speci- ization. However,itisfairtosaythatsofarthefocushaslargelybeenonprogrammi- in-the-small. So the future challenge is to apply or extend these techniques to programming-in-the-large, in order to tackle software engineering in the real world. Returning to this volume, our aim is to present a collection of papers that re?ect signi?cant research e?orts over the past 10 years. These papers cover the wholedevelopmentprocess:speci?cation,synthesis,analysis,transformationand specialization, as well as semantics and systems.

Learning Test-Driven Development

Learning Test-Driven Development
Author: Saleem Siddiqui
Publisher: "O'Reilly Media, Inc."
Total Pages: 280
Release: 2021-10-12
Genre: Computers
ISBN: 109810644X

Your code is a testament to your skills as a developer. No matter what language you use, code should be clean, elegant, and uncluttered. By using test-driven development (TDD), you'll write code that's easy to understand, retains its elegance, and works for months, even years, to come. With this indispensable guide, you'll learn how to use TDD with three different languages: Go, JavaScript, and Python. Author Saleem Siddiqui shows you how to tackle domain complexity using a unit test-driven approach. TDD partitions requirements into small, implementable features, enabling you to solve problems irrespective of the languages and frameworks you use. With Learning Test-Driven Development at your side, you'll learn how to incorporate TDD into your regular coding practice. This book helps you: Use TDD's divide-and-conquer approach to tame domain complexity Understand how TDD works across languages, testing frameworks, and domain concepts Learn how TDD enables continuous integration Support refactoring and redesign with TDD Learn how to write a simple and effective unit test harness in JavaScript Set up a continuous integration environment with the unit tests produced during TDD Write clean, uncluttered code using TDD in Go, JavaScript, and Python

Automated Deduction - A Basis for Applications Volume I Foundations - Calculi and Methods Volume II Systems and Implementation Techniques Volume III Applications

Automated Deduction - A Basis for Applications Volume I Foundations - Calculi and Methods Volume II Systems and Implementation Techniques Volume III Applications
Author: Wolfgang Bibel
Publisher: Springer Science & Business Media
Total Pages: 340
Release: 2013-03-09
Genre: Computers
ISBN: 9401704376

We are invited to deal with mathematical activity in a sys tematic way [ ... ] one does expect and look for pleasant surprises in this requirement of a novel combination of psy chology, logic, mathematics and technology. Hao Wang, 1970, quoted from(Wang, 1970). The field of mathematics has been a key application area for automated theorem proving from the start, in fact the very first automatically found the orem was that the sum of two even numbers is even (Davis, 1983). The field of automated deduction has witnessed considerable progress and in the last decade, automated deduction methods have made their way into many areas of research and product development in computer science. For instance, deduction systems are increasingly used in software and hardware verification to ensure the correctness of computer hardware and computer programs with respect to a given specification. Logic programming, while still falling somewhat short of its expectations, is now widely used, deduc tive databases are well-developed and logic-based description and analysis of hard-and software is commonplace today.

Meta-Programming and Model-Driven Meta-Program Development

Meta-Programming and Model-Driven Meta-Program Development
Author: Vytautas Štuikys
Publisher: Springer Science & Business Media
Total Pages: 330
Release: 2012-08-21
Genre: Computers
ISBN: 1447141261

Meta-Programming and Model-Driven Meta-Program Development: Principles, Processes and Techniques presents an overall analysis of meta-programming, focusing on insights of meta-programming techniques, heterogeneous meta-program development processes in the context of model-driven, feature-based and transformative approaches. The fundamental concepts of meta-programming are still not thoroughly understood, in this well organized book divided into three parts the authors help to address this. Chapters include: Taxonomy of fundamental concepts of meta-programming; Concept of structural heterogeneous meta-programming based on the original meta-language; Model-driven concept and feature-based modeling to the development process of meta-programs; Equivalent meta-program transformations and metrics to evaluate complexity of feature-based models and meta-programs; Variety of academic research case studies within different application domains to experimentally verify the soundness of the investigated approaches. Both authors are professors at Kaunas University of Technology with 15 years research and teaching experience in the field. Meta-Programming and Model-Driven Meta-Program Development: Principles, Processes and Techniques is aimed at post-graduates in computer science and software engineering and researchers and program system developers wishing to extend their knowledge in this rapidly evolving sector of science and technology.