23. ICSE 2001: Toronto, Ontario, Canada
Hausi A. Müller, Mary Jean Harrold, Wilhelm Schäfer (Eds.): Proceedings of the 23rd International Conference on Software Engineering, ICSE 2001, 12-19 May 2001, Toronto, Ontario, Canada. IEEE Computer Society 2001 ISBN 0-7695-1050-7
Technical Papers
Design and Specification of Distributed Systems
Siobhán Clarke, Robert J. Walker: Composition Patterns: An Approach to Designing Reusable Aspects. 5-14
Erkki Mäkinen, Tarja Systä: MAS - An Interactive Synthesizer to Support Behavioral Modeling in UML. 15-24
Static Analysis
Jamieson M. Cobleigh, Lori A. Clarke, Leon J. Osterweil: The Right Algorithm at the Right Time: Comparing Data Flow Analysis Algorithms for Finite State Verification. 37-46
Laura K. Dillon, Kurt Stirewalt: Leightweight Analysis of Operational Specifications Using Inference Graphs. 57-67
Process Improvement for Multi-Site Environments
Pekka Abrahamsson: Commitment Development in Software Process Improvement: Critical Misconceptions. 71-80
James D. Herbsleb, Audris Mockus, Thomas A. Finholt, Rebecca E. Grinter: An Empirical Study of Global Software Development: Distance and Speed. 81-90
Jan Bosch: Software Product Lines: Organizational Alternatives. 91-100
Design Recovery and Program Understanding
Jonathan I. Maletic, Andrian Marcus: Supporting Program Comprehension Using Semantic and Structural Information. 103-112
Derek Rayside, Kostas Kontogiannis: On the Syllogistic Structure of Object-Oriented Programming. 113-122
Alexander Egyed: A Scenario-Driven Approach to Traceability. 123-132
Effective Uses of Inspections
Alastair Dunsmore, Marc Roper, Murray Wood: Systematic Object-Oriented Inspection - An Emprirical Study. 135-144
Stefan Biffl, Wilfried Grossmann: Evaluating the Accuracy of Defect Estimation Models Based on Inspection Data from Two Inspection Cycles. 145-154
Stefan Biffl, Bernd G. Freimut, Oliver Laitenberger: Investigating the Cost-Effectiveness of Reinspections in Software Development. 155-164
Building Formal Analysis Tools
Kurt Stirewalt, Laura K. Dillon: A Component-Based Approach to Building Formal Analysis Tools. 167-176
Matthew B. Dwyer, John Hatcliff, Roby Joehanes, Shawn Laubach, Corina S. Pasareanu, Robby, Hongjun Zheng, Willem Visser: Tool-Supported Program Abstraction for Finite-State Verification. 177-187
Sebastián Uchitel, Jeff Kramer: A Workbench for Synthesising Behaviour Models from Scenarios. 188-197
Dynamic Analysis and Testing
Prakash Krishnamurthy, Paolo A. G. Sivilotti: The Specification and Testing of Quantified Progress Properties in Distributed Systems. 201-210
Antonia Bertolino, Paola Inverardi, Henry Muccini: An Explorative Journey from Architectural Tests Definition downto Code Tests Execution. 211-220
Construction of Component-Based Systems
Eddy Truyen, Bart Vanhaute, Wouter Joosen, Pierre Verbaeten, Bo Nørregaard Jørgensen: Dynamic and Selective Combination of Extensions in Component-Based Applications. 233-242
Eric Wohlstadter, Stoney Jackson, Premkumar T. Devanbu: Generating Wrappers for Command Line Programs: The Cal-Aggie Wrap-O-Matic Project. 243-252
David H. Lorenz, John M. Vlissides: Designing Components Versus Objects: A Transformational Approach. 253-224
Reengineering and Software Evolution
William G. Griswold, Jimmy J. Yuan, Yoshikiyo Kato: Exploiting the Map Metaphor in a Tool for Software Evolution. 265-274
Gail C. Murphy, Albert Lai, Robert J. Walker, Martin P. Robillard: Separating Features in Source Code: An Exploratory Study. 275-284
Analysis of Architectures
Rick Kazman, Jai Asundi, Mark Klein: Quantifying the Costs and Benefits of Architectural Decisions. 297-306
Peter H. Feiler, John J. Walker: Adaptive Feedback Scheduling of Incremental and Design-to-Time Tasks. 318-326
Improving the Testing Process
Sebastian G. Elbaum, Alexey G. Malishevsky, Gregg Rothermel: Incorporating Varying Test Costs and Fault Severities into Test Case Prioritization. 329-338
William Dickinson, David Leon, Andy Podgurski: Finding Failures by Cluster Analysis of Execution Profiles. 339-348
Marvin V. Zelkowitz, Ioana Rus: Understanding IV & V in a Safety Critical and Complex Evolutionary Environment: The NASA Space Shuttle Program. 349-357
Reliability and Mobile Agents
Richard G. Hamlet, David V. Mason, Denise M. Woit: Theory of Software Reliability Based on Components. 361-370
Giacomo Cabri, Letizia Leonardi, Franco Zambonelli: Engineering Mobile-Agent Applications via Context-Dependent Coordination. 371-380
Gruia-Catalin Roman, Qingfeng Huang, Ali Hazemi: Consistent Group Membership in Ad Hoc Networks. 381-388
Analysis of Requirements
Tim Menzies, John D. Powell, Michael E. Houle: Fast Formal Analysis of Requirements via "Topoi Diagrams". 391-400
Scott P. Overmyer, Benoit Lavoie, Owen Rambow: Conceptual Modeling through Linguistic Analysis Using LIDA. 401-410
Steve M. Easterbrook, Marsha Chechik: A Framework for Multi-Valued Reasoning over Inconsistent Viewpoints. 411-420
Formal Frameworks
William E. McUmber, Betty H. C. Cheng: A General Framework for Formalizing UML with Formal Languages. 433-442
Alexis Campailla, Sagar Chaki, Edmund M. Clarke, Somesh Jha, Helmut Veith: Efficient Filtering in Publish-Subscribe Systems Using Binary Decision. 443-452
Jean Berstel, Stefano Crespi-Reghizzi, Gilles Roussel, Pierluigi San Pietro: A Scalable Formal Method for Design and Automatic Checking of User Interfaces. 453-462
Armando Martin Haeberer, T. S. E. Maibaum: Scientific Rigour, an Answer to a Pragmatic Question: A Linguistic Framework for Software Engineering. 463-472
Architectures for Emerging Applications
Ivan Marsic: An Architecture for Heterogeneous Groupware Applications. 475-484
Kevin J. Sullivan, Avneesh Saxena: A Web-Oriented Architectural Aspect for the Emerging Computational Tapestry. 485-492
Ming-Ling Lo, Shyh-Kwei Chen, Sriram Padmanabhan, Jen-Yao Chung: XAS: A System for Accessing Componentized, Virtual XML Documents. 493-502
Case Study Papers
Infrastructure Support
James J. Hunt, Jürgen Reuter: Using the Web for Document Versioning: An Implementation Report for Delta V. 507-513
Scott R. Tilley, Shihong Huang: Evaluating the Reverse Engineering Capabilities of Web Tools for Understanding Site Content and Structure: A Case Study. 514-523
Atsushi Aoki, Kaoru Hayashi, Kouichi Kishida, Kumiyo Nakakoji, Yoshiyuki Nishinaka, Brent Reeves, Akio Takashima, Yasuhiro Yamamoto: A Case Study of the Evolution of Jun: An Object-Oriented Open-Source 3D Multimedia Library. 524-533
Applications of New Paradigms in Software Development
Matthias M. Müller, Walter F. Tichy: Case Study: Extreme Programming in a University Environment. 537-544
Christof Ebert, Casimiro Hernandez Parro, Roland Suttels, Harald Kolarczyk: Improving Validation Activities in a Global Software Development. 545-554
Hoh In, Barry W. Boehm, Thomas Lee Rodgers, Michael Deutsch: Applying WinWin to Quality Requirements: A Case Study. 555-564
Software Evolution
Wolfgang Emmerich, Ernst Ellmer, Henry Fieglein: TIGRA - An Architectural Style for Enterprise Application Integration. 567-576
Fabrizio Fioravanti, G. Migliarese, Paolo Nesi: Reengineering Analysis of Object-Oriented Systems via Duplication. 577-586
Education Papers
Practical Software Engineering Education

Murali Sitaraman, Timothy J. Long, Bruce W. Weide, E. James Harner, Liqing Wang: A Formal Approach to Component-Based Software Engineering: Education and Evaluation. 601-609
Mira Kajko-Mattsson, Stefan Forssander, Ulf H. Olsson: Corrective Maintenance Maturity Model (CM3): Maintainer's Education and Training. 610-619
Degree Programs for Software Engineering Education
Terry Shepard: An Efficient Set of Software Degree Programs for One Domain. 623-632
John D. Tvedt, Roseanne Tesoriero, Kevin A. Gary: The Software Factory: Combining Undergraduate Computer Science and Software Engineering Education. 633-642
Kenneth L. Modesitt, Donald J. Bagert, Laurie Honour Werth: Academic Software Engineering: What Is and What Could Be? Results of the First Annual Survey for International SE Programs. 643-652
Plenary Sessions
Daniel Sabbah: Software Engineering and the Internet. 655
Mary M. Shaw: The Coming-of-Age of Software Architecture Research. 656-664
Robert Balzer: "Tolerating Inconsistency" Revisited. 665
Bernd Voigt: Software Engineering Challenges: A CIO's Perspective. 666
Linda M. Northrop: Reuse That Pays. 667
Challenges and Achievements in Software Engineering
Robert Balzer, Volker Gruhn: Process-Centered Software Engineering Environments: Academic and Industrial Perspectives. 671-672
Manfred Broy: Specification and Modeling: An Academic Perspective. 673-675
Bran Selic: Specification and Modeling: An Industrial Perspective. 676-677
Invited Industry Presentations
Frontiers of Software Practice
Panels
Peter Freeman, Donald J. Bagert, Hossein Saiedian, Mary Shaw, Robert Dupuis, J. Barrie Thompson: Software Engineering Body of Knowledge (SWEBOK). 693-696
Leon J. Osterweil: Impact Project Panel: Determining the Impact of Software Engineering Research Upon Practice. 697
H. Dieter Rombach, Manfred Broy, Michael Evangelist, Ali Mili, Leon J. Osterweil, David Lorge Parnas: Software Engineering Research Agendas Panel (SERA): What Can't We Do, But Need to Learn How to Do? 698
David Notkin, Marc Donner, Michael D. Ernst, Michael M. Gorlick, E. James Whitehead Jr.: Panel: Perspectives on Software Engineering. 699-702
Tutorials

Karol Frühauf: The Intertwining Between Risk and Project Management. 707-708
Kurt C. Wallnau: Methods of Component-Based Software Engineering: Essential Concepts and Classroom Experience. 709-710
Albert Zündorf: From Use Cases to Code - Rigorous Software Development with UML. 711-712
Houman Younessi, Brian Henderson-Sellers: OPEN: A Flexible OO/CBD Process for Software-Intensive Systems Development, a UML Exposition. 713-714
Philippe Kruchten, Bran Selic, Wojtek Kozaczynski: Describing Software Architecture with UML. 715-716
Jan Bosch: Software Product Lines and Software Architecture Design. 717
Barry W. Boehm, Paul Grünbacher, Robert O. Briggs: EasyWinWin: A Groupware-Supported Nethodology for Requirements Negotiation. 720-721
Alexander Ran: Tutorial on Fundamental Concepts for Practical Software Architecture. 722-723
James White: An Introduction to Java 2 Micro Edition (J2ME); Java in Small Things. 724-725
Forrest Shull, Ioana Rus, Victor R. Basili: Improving Software Inspections by Using Reading Techniques. 726-727
Dennis B. Smith, Liam O'Brien, John Bergey: Mining Components for a Software Architecture and a Product Line: the Options Analysis for Reengineering (OAR) Method. 728
Peri L. Tarr, Harold Ossher: Hyper/JTM: Multi-Dimensional Separation of Concerns for JavaTM. 729-730
James White: Enterprise JavaBean Architecture and Design Issues. 731-732
Jin Song Dong: State, Event, Time and Diagram in System Modeling. 733-734
Timothy D. Korson: From UML to Java, Building a 3-Tier Architecture: Case Study. 735-736
Hassan Gomaa: Designing Concurrent, Distributed, and Real-Time Applications with UML. 737-738
Ira D. Baxter: Using Transformation Systems for Software Maintenance and Reengineering. 739-740
Robert L. Nord, Daniel J. Paulish, Dilip Soni, Christine Hofmeister: Effective Software Architecture Design: From Global Analysis to UML Descriptions. 741-742
Daniel Amyot, Gunter Mussbacher: Bridging the Requirements/Design Gap in Dynamic Systems with Use Case Maps (UCMs). 743-744
Workshops
Steve M. Easterbrook, Marsha Chechik: 2nd International Workshop on Living with Inconsistency. 749-750
Frank Maurer: 4th ICSE Workshop on "Software Engineering over the Internet". 751-752
Peter Knauber, Giancarlo Succi: Second ICSE Workshop on Software Product Lines: Economics, Architectures, and Applications. 753-754
Nigel Tracey, John Penix, Willem Visser: The Second International Workshop on Automated Program Analysis, Testing and Verification. 755

Gregory Butler, Don S. Batory, Krzysztof Czarnecki, Ulrich W. Eisenecker: Generative Techniques for Product Lines. 760-761
Mark Harman, Bryan F. Jones: SEMINAL: Software Engineering Using Metaheuristic INnovative Algorithms. 762-763
Jens H. Jahnke, Kostas Kontogiannis, Eleni Stroulia, Scott R. Tilley, Kenny Wong: 3rd International Workshop on Net-Centric Computing (NCC 2001): Theme: Migrating to the Web. 766-767
J. Barrie Thompson, Helen M. Edwards: Workshop to Consider Global Aspects of Software Engineering Professionalism. 768-769
Kevin J. Sullivan, Mary M. Shaw, Barry W. Boehm, David Notkin, Warren Harrison: Third International Workshop on Economics-Driven Software Engineering Research. 770
Ivica Crnkovic, Heinz W. Schmidt, Judith A. Stafford, Kurt C. Wallnau: 4th ICSE Workshop on Component-Based Software Engineering: Component Certification and System Prediction. 771-772
André van der Hoek: SCM-10: Tenth International Workshop on Software Configuration Management. New Practices, New Challenges, and New Boundaries. 773-774
Cecilia Mascolo, Wolfgang Emmerich, Anthony Finkelstein: XML Technologies and Software Engineering. 775-776
Philippe Kruchten, Bran Selic, Wojtek Kozaczynski, Grant Larsen, Alan W. Brown: Describing Software Architecture with UML. 777
Peri L. Tarr, Harold Ossher: Workshop on Advanced Separation of Concerns in Software Engineering. 778-779
Joseph Feller, Brian Fitzgerald, André van der Hoek: 1st Workshop on Open Source Software Engineering. 780-781
Doctoral Symposium
Laura A. Campbell: Visualizaiton an Interpretation of Analysis Results within the Context of Formalized UML Diagrams. 785-786
João W. Cangussu: Modeling and Controlling the Software Test Process. 787-788
Jeff Gray: Using Software Component Generators to Contstruct a Meta-Weaver Framework. 789-790
Daqing Hou: Supporting the Deployment of Object-Oriented Frameworks. 791-792
Nima Kaveh: Model Checking Distributd Objects Design. 793-794
Engin Kirda: Web Engineering Device Independent Web Services. 795-796
Alok Mehta: Evolving Legacy Systems Using Feature Engineering and CBSE. 797-798
Danila Smolko: Design and Evaluation of the Mobile Agent Architecture for Distributed Consistency Management. 799-800
Rebeca P. Díaz Redondo, José J. Pazos Arias: Reuse of Verificatino Efforts and Incomplete Specifications in a Formalized, Iterative and Incremental Software Process. 801-802
Detlef Streitferdt: Traceability for System Families. 803-804
David L. Parnas Symposium
New Software Engineering Faculty Symposium
Leon J. Osterweil, Gabriel M. Silberman, Kenny Wong: New Software Engineering Faculty Symposium. 813
Formal Research Demonstrations
Software Architecture
Johannes Koskinen, Jari Peltonen, Petri Selonen, Tarja Systä, Kai Koskimies: Model Processing Tools in UML. 819-820
Harold Ossher, Peri L. Tarr: Hyper/JTM: Multi-Dimensional Separation of Concerns for JavaTM. 821-822
Markku Hakala, Juha Hautamäki, Kai Koskimies, Jukka Paakki, Antti Viljamaa, Jukka Viljamaa: Architecture-Oriented Programming Using FRED. 823-824
Reuse and Integration
Amir Michail: CodeWeb: Data Mining Library Reuse Patterns. 827-828
Giancarlo Succi, Jason Yip, Witold Pedrycz: Holmes: An Intelligent System to Support Software Product Line Development. 829-830
Huaxin Zhang, Eleni Stroulia: Babel: Representing Business Rules in XML for Application Integration. 831-832
Verification and Maintnenance
Rajeev Alur, Luca de Alfaro, Radu Grosu, Thomas A. Henzinger, M. Kang, Christoph M. Kirsch, Rupak Majumdar, Freddy Y. C. Mang, Bow-Yaw Wang: JMOCHA: A Model Checking Tool that Exploits Design Structure. 835-836
Toshihiro Kamiya, Fumiaki Ohata, Kazuhiro Kondou, Shinji Kusumoto, Katsuro Inoue: Maintenance Support Tools for JAVA Programs: CCFinder and JAAT. 837-838



