A Knowledge-Based Approach to Program Understanding

Program understanding plays an important role in nearly all software related tasks. It is vital to the development, maintenance and reuse activities. Program understanding is indispensable for improving the quality of software development. Several develop

  • PDF / 10,331,989 Bytes
  • 128 Pages / 439.37 x 666.142 pts Page_size
  • 56 Downloads / 236 Views

DOWNLOAD

REPORT


THE KLUWER INTERNATIONAL SERIES IN ENGINEERING AND COMPUTER SCIENCE

A KNOWLEDGE-BASED APPROACH TO PROGRAM UNDERSTANDING

by

SaIwa K. Abd-EI-HarlZ Cairo University, Egypt

Victor R. Basili University of Maryland, U.S.A.

SPRINGER SCIENCE+BUSINESS MEDIA, LLC

ISBN 978-1-4613-5961-6 ISBN 978-1-4615-2279-9 (eBook) DOI 10.1007/978-1-4615-2279-9

Library of Congress Cataloging-in-Publication Data

A C.I.P. Catalogue record for this book is available from the Library of Congress.

Copyright c 1995 by Springer SciencetBusiness Media New York Originally published by Kluwer Academic Publishers in 1995 Softcover reprint ofthe hardcover lst edition 1995 AlI rights reserved. No part of this publication may be reproduced, stored in a retrieval system or transmitted in any form or by any means, mechanica1, photo-copying, recording, or otherwise, without the prior written permission of the publisher, Springer SciencetBusiness Media, LLC.

Printed on add-free paper.

CONTENTS

LIST OF FIGURES ........................................................................................... vii LIST OF TABLES ............................................................................................. ix PREFACE ......................................................................................................... xi ACKNOWLEDGMENTS .................................................................................. xv 1 INTRODUCTION ........................................................................................ 1 1.1 RESEAR.CH GOALS ......................................................................... 1 1.2 RESEAR.CH APPROACH ................................................................. 2 1.3 OUTLINE ......................................................................................... 42 BACKGROUND .......................................................................................... 5 2.1 LOOP ANALYSIS ............................................................................ 5 2.1.1 Axiomatic Approaches ........................................................... 6 2.1.2 Non-axiomatic Approaches ..................................................... 8 2.1.3 Hybrid Approaches ................................................................. 9 2.1.4 Decomposition Approaches .................................................... 9 2.2 PROGRAM ANALYSIS AND UNDERSTANDING ......................... 9 2.2.1 Algorithmic Approaches ......................................................... 10 2.2.2 Cognitive Studies.................................................................... 11 2.2.3 Knowledge-Based Approaches ................................................ 12 3 OVERVIEW AND BASIC DEFINITIONS ................................................... 19 3.1 DEFINITIONS .................................................................................. 20 3.2 A LOOP TAXONOMY ..................................................................... 21 4 ANALYSIS OF FLAT LOOPS ................................................