Constraint-Based Design Recovery for Software Reengineering

Theory and Experiments

  • Steven G. Woods
  • Alexander E. Quilici
  • Qiang Yang

Part of the The Springer International Series in Software Engineering book series (SOFT, volume 3)

Table of contents

  1. Front Matter
    Pages i-xxii
  2. Steven G. Woods, Alexander E. Quilici, Qiang Yang
    Pages 1-17
  3. Steven G. Woods, Alexander E. Quilici, Qiang Yang
    Pages 19-41
  4. Steven G. Woods, Alexander E. Quilici, Qiang Yang
    Pages 43-65
  5. Steven G. Woods, Alexander E. Quilici, Qiang Yang
    Pages 67-90
  6. Steven G. Woods, Alexander E. Quilici, Qiang Yang
    Pages 91-116
  7. Steven G. Woods, Alexander E. Quilici, Qiang Yang
    Pages 117-132
  8. Steven G. Woods, Alexander E. Quilici, Qiang Yang
    Pages 133-158
  9. Steven G. Woods, Alexander E. Quilici, Qiang Yang
    Pages 159-175
  10. Back Matter
    Pages 177-188

About this book

Introduction

The great challenge of reverse engineering is recovering design information from legacy code: the concept recovery problem. This monograph describes our research effort in attacking this problem. It discusses our theory of how a constraint-based approach to program plan recognition can efficiently extract design concepts from source code, and it details experiments in concept recovery that support our claims of scalability. Importantly, we present our models and experiments in sufficient detail so that they can be easily replicated. This book is intended for researchers or software developers concerned with reverse engineering or reengineering legacy systems. However, it may also interest those researchers who are interested using plan recognition techniques or constraint-based reasoning. We expect the reader to have a reasonable computer science background (i.e., familiarity with the basics of programming and algorithm analysis), but we do not require familiarity with the fields of reverse engineering or artificial intelligence (AI). To this end, we carefully explain all the AI techniques we use. This book is designed as a reference for advanced undergraduate or graduate seminar courses in software engineering, reverse engineering, or reengineering. It can also serve as a supplementary textbook for software engineering-related courses, such as those on program understanding or design recovery, for AI-related courses, such as those on plan recognition or constraint satisfaction, and for courses that cover both topics, such as those on AI applications to software engineering. ORGANIZATION The book comprises eight chapters.

Keywords

Constraint Satisfaction Scala algorithms artificial intelligence design intelligence programming proving software engineering

Authors and affiliations

  • Steven G. Woods
    • 1
  • Alexander E. Quilici
    • 2
  • Qiang Yang
    • 3
  1. 1.Carnegie Mellon UniversityPittsburghUSA
  2. 2.University of Hawaii at ManoaHonoluluUSA
  3. 3.Simon Fraser UniversityBurnabyCanada

Bibliographic information

  • DOI https://doi.org/10.1007/978-1-4615-5461-5
  • Copyright Information Kluwer Academic Publishers 1998
  • Publisher Name Springer, Boston, MA
  • eBook Packages Springer Book Archive
  • Print ISBN 978-1-4613-7494-7
  • Online ISBN 978-1-4615-5461-5
  • Series Print ISSN 1384-6469
  • About this book