Proceedings Second IEEE International Workshop on Source Code Analysis and Manipulation
Proceedings Second IEEE International Workshop on Source Code Analysis and Manipulation 1 October 2002 Montreal, Canada Sponsored by Institute of Electrical and Electronics Engineers (IEEE) Los Alamitos, California Washington Brussels Tokyo
Copyright 2002 by The Institute of Electrical and Electronics Engineers, Inc. All rights reserved Copyright and Reprint Permissions: Abstracting is permitted with credit to the source. Libraries may photocopy beyond the limits of US copyright law, for private use of patrons, those articles in this volume that carry a code at the bottom of the first page, provided that the per-copy fee indicated in the code is paid through the Copyright Clearance Center, 222 Rosewood Drive, Danvers, MA 01923. Other copying, reprint, or republication requests should be addressed to: IEEE Copyrights Manager, IEEE Service Center, 445 Hoes Lane, P.O. Box 133, Piscataway, NJ 08855-1331. The papers in this book comprise the proceedings of the meeting mentioned on the cover and title page. They reflect the authors opinions and, in the interests of timely dissemination, are published as presented and without change. Their inclusion in this publication does not necessarily constitute endorsement by the editors, the IEEE Computer Society, or the Institute of Electrical and Electronics Engineers, Inc. IEEE Computer Society Order Number PR01793 ISBN 0-7695-1793-5 Library of Congress Number 2002109466 Additional copies may be ordered from: IEEE Computer Society IEEE Service Center IEEE Computer Society Customer Service Center 445 Hoes Lane Asia/Pacific Office 10662 Los Vaqueros Circle P.O. Box 1331 Watanabe Bldg., 1-4-2 P.O. Box 3014 Piscataway, NJ 08855-1331 Minami-Aoyama Los Alamitos, CA 90720-1314 Tel: + 1-732-981-0060 Minato-ku, Tokyo 107-0062 Tel: + 1-714-821-8380 Fax: + 1-732-981-9667 JAPAN Fax: + 1-714-821-4641 http://shop.ieee.org/store/ Tel: + 81-3-3408-3118 E-mail: cs.books@computer.org customer-service@ieee.org Fax: + 81-3-3408-3553 tokyo.ofc@computer.org Editorial production by Stephanie Kawada Cover art production by Joe Daigle/Studio Productions The Montreal photograph courtesy of the Tourisme Montréal, http://www.tourisme-montreal.org Printed in the United States of America by Applied Digital Imaging
Proceedings Table of Contents Message from the Program Committee Chairs...vii Conference Organization...viii Keynote Address Parallel Support for Source Code Analysis and Modification...3 I. D. Baxter Session I: Testing, Metrics, Maintenance Towards Measurement of Testability of Concurrent Object-Oriented Programs Using Fault Insertion: A Preliminary Investigation...17 S. Ghosh An Extensible Metrics Extraction Environment for Object-Oriented Programming Languages...26 T. J. Harmer and F. G. Wilkie Evaluating Clone Detection Tools for Use during Preventative Maintenance...36 E. Burd and J. Bailey A Simple Mathematically Based Framework for Rule Extraction Using Wide Spectrum Language...44 F. V. Ramsey and J. J. Alpigini v
Session II: Source Transformation, Source Processing VADA: A Transformation-Based System for Variable Dependence Analysis...55 M. Harman, C. Fox, R. Hierons, L. Hu, S. Danicic, and J. Wegener Combining Source Transformation and Operator Overloading Techniques to Compute Derivatives for MATLAB Programs...65 C. H. Bischof, H. M. Bücker, B. Lang, A. Rasch, and A. Vehreschild Mechanized Operational Semantics of WSL...73 X. Zhang, M. Munro, M. Harman, and L. Hu Handling Preprocessor-Conditioned Declarations...83 L. Aversano, M. Di Penta, and I. D. Baxter Grammar Programming in TXL...93 T. R. Dean, J. R. Cordy, A. J. Malton, and K. A. Schneider Session III: Slicing An Interprocedural Amorphous Slicer for WSL...105 M. Harman, L. Hu, M. Munro, X. Zhang, S. Danicic, M. Daoudi, and L. Ouarbya Dynamic Slicing Object-Oriented Programs for Debugging...115 B. Xu, Z. Chen, and H. Yang Construction of the System Dependence Graph for Web Application Slicing...123 F. Ricca and P. Tonella Predicate-Based Dynamic Slicing of Message Passing Programs...133 J. Rilling, H. F. Li, and D. Goswami Session IV: Dependence Graphs, Static Analysis Using Dependence Graphs as a Support to Document Programs...145 F. Balmas Precise Call Graph Construction in the Presence of Function Pointers...155 A. Milanova, A. Rountev, and B. G. Ryder Semantics Guided Filtering of Combinatorial Graph Transformations in Declarative Equation-Based Languages...163 P. Bunus and P. Fritzson Visualization of Exception Propagation for Java Using Static Analysis...173 B.-M. Chang, J.-W. Jo, and S. H. Her Author Index...183 vi