Fr. 238.00

Constraint-Based Design Recovery for Software Reengineering - Theory and Experiments

Inglese · Tascabile

Spedizione di solito entro 1 a 2 settimane (il titolo viene stampato sull'ordine)

Descrizione

Ulteriori informazioni

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.

Sommario

1. Introduction.- 1.1 Program Understanding.- 1.2 The State of The Practice.- 1.3 Conceptual Program Understanding.- 1.4 The Remainder of This Book.- 2. Plan-Based Program Understanding.- 2.1 Overview.- 2.2 Ast-Based Approaches.- 2.3 Graph-Based Approaches.- 2.4 Analysis of Previous Approaches.- 3. Program Understanding and Constraint Satisfaction.- 3.1 Introduction.- 3.2 Constraint Satisfaction Problems.- 3.3 Program Understanding as Constraint-Satisfaction.- 3.4 Modeling Existing Program Understanding Algorithms.- 4. Initial Experiments with Concept Recovery.- 4.1 Introduction.- 4.2 Experimental Framework.- 4.3 Experiments With Csp Solvers.- 4.4 Comparing Existing Approaches.- 4.5 Summary of Results.- 5. Additional Experiments with Concept Recovery.- 5.1 Introduction.- 5.2 Experimental Framework.- 5.3 Some Experiments With "Real" Programs.- 5.4 Experiments with Domain-Value Pre-Filtering.- 5.5 Experiments With A New Constraint-Based Algorithm.- 5.6 Summary.- 6. Program Understanding and AI Plan Recognition.- 6.1 Introduction.- 6.2 An Ai Approach to Plan Recognition.- 6.3 Problems with Applying AI Plan Recognition.- 6.4 Layered Map-CSP Versus the AI Approach.- 7. Improving our Constraint-Based Approach.- 7.1 Introduction.- 7.2 Addressing Problems with Layered Map-Csp.- 7.3 Integrated Understanding: PU-CSP.- 7.4 Solving Strategies for PU-CSP.- 7.5 PU-CSP Versus Layered MAP-CSP.- 8. Conclusions.- 8.1 Summary.- 8.2 Future Experiments.- 8.3 Future Modeling and Algorithm Development.- 8.4 Future Tool Development.- 8.5 Applying Plan Recognition to the Year 2000 Problem.- 8.6 Contributions to Artificial Intelligence.- 8.7 Final Remarks.- References.

Riassunto

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.

Dettagli sul prodotto

Autori Alexander E. Quilici, Steven G. Woods, Qiang Yang, Qiang Yang, Alexander Quilici, Alexander E Quilici, Alexander E. Quilici, Steven Woods, Steven G Woods, Steven G. Woods, Qiang Yang
Editore Springer, Berlin
 
Lingue Inglese
Formato Tascabile
Pubblicazione 02.08.2013
 
EAN 9781461374947
ISBN 978-1-4613-7494-7
Pagine 189
Dimensioni 155 mm x 11 mm x 235 mm
Peso 338 g
Illustrazioni XXII, 189 p.
Serie International Series in Software Engineering
International Series in Software Engineering
Categoria Scienze naturali, medicina, informatica, tecnica > Informatica, EDP > Informatica

Recensioni dei clienti

Per questo articolo non c'è ancora nessuna recensione. Scrivi la prima recensione e aiuta gli altri utenti a scegliere.

Scrivi una recensione

Top o flop? Scrivi la tua recensione.

Per i messaggi a CeDe.ch si prega di utilizzare il modulo di contatto.

I campi contrassegnati da * sono obbligatori.

Inviando questo modulo si accetta la nostra dichiarazione protezione dati.