The Community for Technology Leaders
RSS Icon
Subscribe
Issue No.06 - November/December (2005 vol.22)
pp: 106-110
Published by the IEEE Computer Society

Special Issues

Adapting Agility

"Adapting Agile Approaches to Your Project Needs" [Editor's Introduction], Stephen J. Mellor, May/June, pp. 17–20.

"Combining Agile Methods with Stage-Gate Project Management," Daniel Karlström and Per Runeson, May/June, pp. 43–49.

"Context-Adaptive Agility: Managing Complexity and Uncertainty," Todd Little, May/June, pp. 28–35.

"Primavera Gets Agile: A Successful Transition to Agile Development," Bob Schatz and Ibrahim Abdelshafi, May/June, pp. 36–42.

"Project Management in Plan-Based and Agile Companies," Martina Ceschi, Alberto Sillitti, Giancarlo Succi, and Stefano De Panfilis, May/June, pp. 21–27.

Cost and Value

"Beyond Cost: The Drivers of COTS Application Value," Mark Keil and Amrit Tiwana, May/June, pp. 64–69.

"Practical Guidelines for Expert-Judgment-Based Software Effort Estimation," Magne Jørgensen, May/June, pp. 57–63.

COTS Integration

"An Active-Architecture Approach to COTS Integration," Brian Warboys, Bob Snowdon, R. Mark Greenwood, Wykeen Seet, Ian Robertson, Ron Morrison, Graham Kirby, Dharini Balasubramaniam, and Katherine Mickan, July/Aug., pp. 20–27.

"Coordinating COTS Applications via a Business Event Layer," Wilfried Lemahieu, Monique Snoeck, Frank Goethals, Manu De Backer, Raf Haesen, Guido Dedene, and Jacques Vandenbulcke, July/Aug., pp. 28–35.

"Evaluating COTS Component Dependability in Context," Paolo Donzelli, Marvin Zelkowitz, Victor Basili, Dan Allard, and Kenneth N. Meyer, July/Aug., pp. 46–53.

"Integrating COTS into the Development Process" [Guest Editors' Introduction], Alexander Egyed, Hausi A. Müller, and Dewayne E. Perry, July/Aug., pp. 16–18.

"Performance Techniques for COTS Systems," Erik Putrycz, Murray Woodside, and Xiuping Wu, July/Aug., pp. 36–44.

"Value-Based Processes for COTS-Based Applications," Ye Yang, Jesal Bhuta, Daniel N. Port, and Barry Boehm, July/Aug., pp. 54–62.

Evidence-Based Software Engineering

"Evidence-Based Software Engineering for Practitioners," Tore Dybå, Barbara A. Kitchenham, and Magne Jørgensen, Jan./Feb., pp. 58–65.

"Soup or Art? The Role of Evidential Force in Empirical Software Engineering," Shari Lawrence Pfleeger, Jan./Feb., pp. 66–73.

Innovation in Requirements Engineering

"Shake, Rattle, and Requirements" [Guest Editors' Introduction], Neil Maiden, Suzanne Robertson, and Christof Ebert, Jan./Feb., pp. 13–15.

"Improving Requirements Engineering Communication in Multiproject Environments," Barbara Paech, Jörg Dörr, and Mathias Koehler, Jan./Feb., pp. 40–47.

"Integrated Requirements Engineering: A Tutorial," Ian Sommerville, Jan./Feb., pp. 16–23.

"A Linguistic-Engineering Approach to Large-Scale Requirements Management," Johan Natt och Dag, Vincenzo Gervasi, Sjaak Brinkkemper, and Björn Regnell, Jan./Feb., pp. 32–39.

"Point/Counterpoint: Requirements Analysts Must Also Be Inventors," James Robertson, Jan./Feb., pp. 48, 50–51.

"Point/Counterpoint: System Designers, Not Analysts, Should Design," Connie Heitmeyer, Jan./Feb., pp. 49–51.

"Sharing Requirements Engineering Experience Using Patterns," Lars Hagge and Kathrin Lappe, Jan./Feb., pp. 24–31.

Postmodern Software Design

"Architecture Decisions: Demystifying Architecture," Jeff Tyree and Art Akerman, Mar./Apr., pp. 19–27.

"Architecture Reviews: Practice and Experience," Joseph F. Maranzano, Sandra A. Rozsypal, Guy W. Warnken, David M. Weiss, Patricia E. Wirth, and Gus H. Zimmerman, Mar./Apr., pp. 34–43.

"Casting Software Design in the Function-Behavior-Structure Framework," Philippe Kruchten, Mar./Apr., pp. 52–58.

"Model Mapping Using Formalism Extensions," Guy Caplat and Jean-Louis Sourrouille, Mar./Apr., pp. 44–51.

"An Ontology for Microarchitectural Design Knowledge," Javier Garzás and Mario Piattini, Mar./Apr., pp. 28–33.

"Software Design in a Postmodern Era" [Editor's Introduction], Philippe Kruchten, Mar./Apr., pp. 16–18.

Predictor Models

"Building Effective Defect-Prediction Models in Practice," A. Günes Koru and Hongfang Liu, Nov./Dec., pp. 23–29.

"Finding the Right Data for Software Cost Modeling," Zhihao Chen, Tim Menzies, Daniel Port, and Barry Boehm, Nov./Dec., pp. 38–46.

"Improving After-the-Fact Tracing and Mapping: Supporting Software Quality Predictions," Jane Huffman Hayes, Alex Dekhtyar, and Senthil Sundaram, Nov./Dec., pp. 30–37.

"The Promise of Public Software Engineering Data Repositories," (Guest Editor's Introduction), Bojan Cukic, Nov./Dec., pp. 20–22.

Project Management

"Evolving Distributed Project Management," Kenneth E. Nidiffer and Dana Dolan, Sept./Oct., pp. 63–72.

"How Standards Enable Adoption of Project Management Practice," Suzanne Garcia, Sept./Oct., pp. 22–29.

"Management Challenges to Implementing Agile Processes in Traditional Development Organizations," Barry Boehm and Richard Turner, Sept./Oct., pp. 30–39.

"Professional Certification of Software Engineers: The CSDP Program," J. Fernando Naveda and Stephen B. Seidman, Sept./Oct., pp. 73–77.

"Project Management in a Software Product Line Organization," Paul C. Clements, Lawrence G. Jones, John D. McGregor, and Linda M. Northrop, Sept./Oct., pp. 54–62.

"Single Goal Set: A New Paradigm for IT Megaproject Success," C. Venugopal, Sept./Oct., pp. 48–53.

"Software Engineering Project Management 20 Years Later" [Guest Editors' Introduction], Arthur B. Pyster and Richard H. Thayer, Sept./Oct., pp. 18–21.

"Successful Software Management Style: Steering and Balance," Walker Royce, Sept./Oct., pp. 40–47.

Feature Articles

Adaptable code

"Lazy Types: Automating Dynamic Strategy Selection," Fernando Berzal, Juan-Carlos Cubero, Nicolás Marín, and María-Amparo Vila, Sept./Oct., pp. 98–106.

Business of software engineering

"IT Assets—Control by Importance and Exception: Supporting the 'Paradigm of Change,'" Mordechai Ben-Menachem, and Garry S. Marliss, July/Aug., pp. 94–102.

Country report. "Structural Shifts in the Chinese Software Industry," Nir Kshetri, July/Aug., pp. 86–93.

Developing for data mining

"Mining Text for Expert Witnesses," Christopher Dozier and Peter Jackson, May/June, pp. 94–100.

Distributed development

"Leveraging Global Resources: A Process Maturity Framework for Managing Distributed Development," Narayan Ramasubbu, Prasad Kompalli, and M.S. Krishnan, May/June, pp. 80–86.

Management

"In-House Software Development: What Project Management Practices Lead to Success?" June M. Verner and William M. Evanco, Jan./Feb., pp. 86–93.

Process improvement

"Managing Change in Software Process Improvement," Lars Mathiassen, Ojelanki K. Ngwenyama, and Ivan Aaen, Nov./Dec., pp. 84–91.

Process improvement

"Software Process Improvement in Small Organizations: A Case Study," Kathleen Coleman Dangle, Patricia Larsen, Michele Shaw, and Marvin V. Zelkowitz, Nov./Dec., pp. 68–75.

Programming languages

"An Empirical Study of Programming Language Trends," Yaofei Chen, Rose Dios, Ali Mili, Lan Wu, and Kefei Wang, May/June, pp. 72–78.

Project management

"Improving Software Development Management through Software Project Telemetry," Philip M. Johnson, Hongbing Kou, Michael Paulding, Qin Zhang, Aaron Kagawa, and Takuya Yamashita, July/Aug., pp. 76–85.

Real-time process control

"Using the OPC Standard for Real-Time Process Monitoring and Control," Jun Liu, Khiang Wee Lim, Weng Khuen Ho, Kay Chen Tan, Arthur Tay, and Rajagopalan Srinivasan, Nov./Dec., pp. 54–59.

Release planning

"The Art and Science of Software Release Planning," Günther Ruhe and Moshood Omolade Saliu, Nov./Dec., pp. 47–53.

Requirements

"Rich-Media Scenarios for Discovering Requirements," Konstantinos Zachos, Neil Maiden, and Amit Tosar, Sept./Oct., pp. 89–97.

Service-oriented architecture

"Toward an Acceptable Definition of Service," Steve Jones, May/June, pp. 87–93.

Software economics

"The Economic Impact of Learning and Flexibility on Process Decisions," Hakan Erdogmus, Nov./Dec., pp. 76–83.

Software engineering process

"Opportunistic Problem Solving in Software Engineering," Pierre N. Robillard, Nov./Dec., pp. 60–67.

Test methodology

"Rapid Embedded System Testing Using Verification Patterns," Wei-Tek Tsai, Feng Zhu, Lian Yu, and Ray Paul, July/Aug., pp. 68–75.

Testing

"Automatic Test Case Optimization: A Bacteriologic Algorithm," Benoit Baudry, Franck Fleurey, Jean-Marc Jézéquel, and Yves Le Traon, Mar./Apr., pp. 76–82.

Web-based development

"Hypermedia Systems Development Practices: A Survey," Michael Lang and Brian Fitzgerald, Mar./Apr., pp. 68–75.

Web standards

"Web Metadata Standards: Observations and Prescriptions," David Bodoff, Mordechai Ben-Menachm, and Patrick C.K. Hung, Jan./Feb., pp. 78–85.

Departments

Bookshelf

"A Book by Another Name," John R. Dance, review of Programming in the .NET Environment by D. Watkins, M. Hammond, and B. Abrams, Jan./Feb., pp. 95–96.

"Coding for Numbers," Diomidis Spinellis, review of Numerical Recipes in C++ by W.H. Press et al., Jan./Feb., pp. 94–95. "Get Excited about Extreme Programming," David Arthur Eatough, review of A Practical Guide to Extreme Programming by D. Astels, G. Miller, and M. Novak, Jan./Feb., pp. 96–97.

"A Complete Code-Reading Source," Angela Jury, review of Code Reading by D. Spinellis, July/Aug., pp. 116–117.

"The Grid Almanac," Shubhashis Sengupta, review of The Grid 2: Blueprint for a New Computing Infrastructure, I. Foster and C. Kesselman, eds., Nov./Dec., pp. 104.

"Handbooks for Software Managers," Fernando Berzal, review of Software Engineering Handbook by J. Keyes and The Software Project Manager's Handbook by D. Phillips, Nov./Dec., pp. 104–105. "IT Project Estimation: Recommended for Beginners," Kevin C. Desouza and Yukika Awazu, review of IT Project Estimation by P. Coombs, Jan./Feb., p. 97.

"An Introduction to Agile and Iterative Development Methods," Mike Barker, review of Agile & Iterative Development by C. Larman, Mar./Apr., pp. 89–90.

"Learning from Software Failure," Martyn Thomas, review of Software Development Failures by K. Ewusi-Mensah and Successful IT Project Delivery by D. Yardley, Sept./Oct., pp. 116–117.

"Making Up the Numbers," Christof Ebert, review of Five Core Metrics by L.H. Putnam and W. Myers, May/June, pp. 108–109.

"A Must-Read for Architect and System Integrators," Art Sedighi, review of Service-Oriented Architecture by T. Erl, Sept./Oct., pp. 115–116.

"The Philosophy of Good Programming," Stratton Penberthy, review of The Art of UNIX Programming by E.S. Raymond, July/Aug., pp. 118.

"Simplifying Complexity," Paula M. Bach and Mark A. Cohen, review of Interaction Design for Complex Program Solving by B. Mirel, Sept./Oct., pp. 117–118.

"Technical and Business Concerns in Software Development," Paul Freedman, review of Software by Numbers by M. Denne and J. Cleland-Huang, Mar./Apr., pp. 90–91.

"A Technological Account of Grid Computing," Shubhashis Sengupta, review of Grid Computing by J. Joseph and C. Fellenstein, July/Aug., pp. 117–118.

"Three Perspectives on Software Testing," Fernando Berzal, review of Testing Computer Software by C. Kaner, J. Falk, and H.Q. Nguyen; Test-Driven Development by K. Beck; and Lessons Learned in Software Testing by C. Kaner, J. Bach, and B. Pettichord, May/June, pp. 107–108.

" UML Distilled: From Difficulties to Assets," Stephen J. Mellor, review of UML Distilled by M. Fowler, May/June, pp. 106–107.

"Understanding Open Source Licensing: Three How-To Guides," Joel West, review of Open Source Software Law by R. Dixon, Understanding Open Source and Free Software Licensing by A.M. St. Laurent, and Open Source Licensing by L. Rosen, July/Aug., pp. 114–116.

"Understanding Story-Driven Development Process," Moshood Omolade Saliu, review of User Stories Applied by M. Cohn, Nov./Dec., pp. 103–104.

"Using Test-Driven Software Development Tools," Alex Abacus, review of Test Driven Development by D. Astels, Mar./Apr., pp. 88–89.

Design

"Agile Programming: Design to Accommodate Change," Dave Thomas, May/June, pp. 14–16.

"Enterprise Architects Join the Team," Rebecca J. Parsons, Sept./Oct., pp. 16–17.

"State of Design," Martin Fowler, Nov./Dec., pp. 12–13.

"The Test Bus Imperative: Architectures That Support Automated Acceptance Testing," Robert C. Martin, July/Aug., pp. 65–67.

"Your Coffee Shop Doesn't Use Two-Phase Commit," Gregor Hohpe, Mar./Apr., pp. 64–66.

From the Editor

"Constant Connectivity: Just Because You Can Doesn't Mean You Should," Warren Harrison, Mar./Apr., pp. 5–7.

"Do You Learn Just in Time or Just in Case?" Warren Harrison, Jan./Feb., pp. 5–7.

"High-Tech Disasters," Warren Harrison, Nov./Dec., pp. 3–5.

"The Saboteur Within," Warren Harrison, July/Aug., pp. 5–7.

"Skinner Wasn't a Software Engineer," Warren Harrison, May/June, pp. 5–7.

"What Do Software Developers Need to Know about Business?" Warren Harrison, Sept./Oct., pp. 5–7.

From Your Technical Council

"Software Engineering: The Past, the Future, and Your TCSE," Karl Reed, July/Aug., pp. 106–107.

"Undergraduate Software Engineering Education: The Mark of a Discipline," J. Barrie Thompson and Karl Reed, Nov./Dec., pp. 96–97.

In the News

"Beware the March of This IDE: Eclipse Is Overshadowing Other Tool Technologies," Greg Goth, July/Aug., pp. 108–111.

"Cataloging History: Museum Database Helps Remember the Holocaust," Benjamin Alfonsi, May/June, p. 105.

"Cybercorps Scholarships Fund New Generation of Security Gurus," Laurianne McLaughlin, Jan./Feb., pp. 98–100.

"Enter the Protectionist Dragon? China's Software and Standards Policies Stir Debate and Reflection," Greg Goth, Mar./Apr., pp. 83–87.

"Following the Money: Research Funding Fluctuates Globally," Greg Goth, Sept./Oct., pp. 110–112, 114.

"Inside the Software Patents Debate: Some Good News for Open Source Developers," Laurianne McLaughlin, May/June, pp. 102–104.

"Let Freedom Ring? Developer Declaration Promotes Open Standards," Benjamin Alfonsi, Jan./Feb., pp. 100–101.

"Open Source Business Models: Ready for Prime Time," Greg Goth, Nov./Dec., pp. 98–100.

"Opening the Mainstream: O'Reilly Oscon 2005," Bart Massey, Nov./Dec., pp. 101–102.

"Software Boot Camps Are In, and Focused on Security," Bernard Cole, July/Aug., p. 112.

"The Software Drain: Outdated Software Costs Companies Millions," Benjamin Alfonsi, Mar./Apr., p. 84.

"Standards Aim to Improve Computer Security," Terry Costlow, Sept./Oct., p. 113.

Loyal Opposition

"A Follow-the-Leader Story with a Strange Ending," Robert L. Glass, Nov./Dec., pp. 112, 111.

"IT Failure Rates—70% or 10–15%?" Robert L. Glass, May/June, pp. 112, 110–111.

"Never the CS and IS Twain Shall Meet?" Robert L. Glass, Sept./Oct., pp. 120, 119.

"A Sad SAC Story about the State of the Practice," Robert L. Glass, July/Aug., pp. 120, 119.

"Software Engineering Theory in Practice," Johann Rost, Mar./Apr., pp. 96, 94–95.

"Viruses Are Beginning to Get to Me!" Robert L. Glass, Jan./Feb., pp. 104, 102–103.

Open Source

"Bugzilla, ITracker, and Other Bug Trackers," Nicolás Serrano and Ismael Ciordia, Mar./Apr., pp. 11–13.

"Implementing an Open Source Knowledge Base," Brian Donnellan, Brian Fitzgerald, Brian Lake, and John Sturdy, University of Limerick, Nov./Dec., pp. 92–95.

"JUnit: Unit Testing and Coding in Tandem," Panagiotis Louridas, July/Aug., pp. 12–15.

"MySQL: Lessons Learned on a Digital Library," Mariella Di Giacomo, May/June, pp. 10–13.

"Open Source Libraries for Information Retrieval," Vesna Hassler, Sept./Oct., pp. 78–82.

"Source Code Review Systems," Jason Remillard, Jan./Feb., pp. 74–77.

Quality Time

"OO Metrics in Practice," David P. Darcy and Chris F. Kemerer, Nov./Dec., pp. 17–19.

"Positive Reinforcement as a Quality Tool," Barbara Hirsh, Mar./Apr., pp. 62–63.

"Requirements Engineering Changes for COTS-Intensive Systems," Ronald J. Kohl, July/Aug., pp. 63–64.

"Software Architectures and Embedded Systems: A Match Made in Heaven?" Nenad Medvidovic, Sept./Oct., pp. 83–86.

"The Syntactically Dangerous All and Plural in Specifications," Daniel M. Berry and Erik Kamsties, Jan./Feb., pp. 55–57.

"The Virtues of Assessing Software Reliability Early," Bojan Cukic, May/June, pp. 50–53.

Requirements

"Design Traceability," Jeremy Dick, Nov./Dec., pp. 14–16.

"Developing the Requirements Discipline: Software vs. Systems," Regina Gonzales, Mar./Apr., pp. 59–61.

"Learning from Other Disciplines," Suzanne Robertson, May/June, pp. 54–56.

"On Systems Coaching," Susanne Kandrup, Jan./Feb., pp. 52–54.

"What Has Requirements Research Ever Done for Us?" Neil Maiden, July/Aug., pp. 104–105.

"Why Context Matters—And What Can We Do about It?" Donald C. Gause, Sept./Oct., pp. 13–15.

Reviewer Thanks

"Our 2004 Reviewers," Warren Harrison, Mar./Apr., pp. 92–93.

Software Engineering Glossary

"Software Design, Part 3," Richard H. Thayer, Jan./Feb., inside back cover.

"Software Maintenance," Richard H. Thayer, July/Aug., p. 103.

"Software Risk Management," Richard E. Fairley, May/June, p. 101.

"Use Case Terminology," Geri Winters, Mar./Apr., p. 67.

"Version Control, Part 1," Diomidis Spinellis, Sept./Oct., inside back cover.

"Version Control, Part 2," Diomidis Spinellis, Nov./Dec., inside back cover.

Tools of the Trade

"Dear Editor," Diomidis Spinellis, Mar./Apr., pp. 14–15.

"Java Makes Scripting Languages Irrelevant?" Diomidis Spinellis, May/June, pp. 70–71.

"Tool Writing: A Forgotten Art?" Diomidis Spinellis, July/Aug., pp. 9–11.

"The Tools at Hand," Diomidis Spinellis, Jan./Feb., pp. 10–12.

"Version Control Systems," Diomidis Spinellis, Sept./Oct., pp. 108–109.

"Working with Unix Tools," Diomidis Spinellis, Nov./Dec., pp. 9–11.

Author Index

A

Aaen, Ivan, see Mathiassen, Lars.

Abacus, Alex, "Using Test-Driven Software Development Tools" [Bookshelf], review of Test Driven Development by D. Astels, Mar./Apr., pp. 88–89.

Abdelshafi, Ibrahim, see Schatz, Bob.

Akerman, Art, see Tyree, Jeff, Mar./Apr., pp. 19–27.

Alfonsi, Benjamin, "Cataloging History: Museum Database Helps Remember the Holocaust" [In the News], May/June, p. 105.

Alfonsi, Benjamin, "Let Freedom Ring? Developer Declaration Promotes Open Standards" [In the News], Jan./Feb., pp. 100–101.

Alfonsi, Benjamin, "The Software Drain: Outdated Software Costs Companies Millions" [In the News], Mar./Apr., p. 84.

Allard, Dan, see Donzelli, Paolo.

Awazu, Yukika, see Desouza, Kevin C.

B

Bach, Paula M., and Mark A. Cohen, "Simplifying Complexity" [Bookshelf], review of Interaction Design for Complex Program Solving by B. Mirel, Sept./Oct., pp. 117–118.

Balasubramaniam, Dharini, see Warboys, Brian.

Barker, Mike, "An Introduction to Agile and Iterative Development Methods" [Bookshelf], review of Agile & Iterative Development by C. Larman, Mar./Apr., pp. 89–90.

Basili, Victor, see Donzelli, Paolo.

Baudry, Benoit, Franck Fleurey, Jean–Marc Jézéquel, and Yves Le Traon, "Automatic Test Case Optimization: A Bacteriologic Algorithm" [Feature], Mar./Apr., pp. 76–82.

Ben-Menachem, Mordechai, and Garry S. Marliss, "IT Assets—Control by Importance and Exception: Supporting the 'Paradigm of Change'" [Feature], July/Aug., pp. 94–102.

Ben-Menachem, Mordechai, see also Bodoff, David.

Berry, Daniel M., and Erik Kamsties, "The Syntactically Dangerous All and Plural in Specifications" [Quality Time], Jan./Feb., pp. 55–57.

Berzal, Fernando, "Handbooks for Software Managers" [Bookshelf], review of Software Engineering Handbook by J. Keyes and The Software Project Manager's Handbook by D. Phillips, Nov./Dec., pp. 104–105.

Berzal, Fernando, "Three Perspectives on Software Testing" [Bookshelf], review of Testing Computer Software by C. Kaner, J. Falk, and H.Q. Nguyen; Test-Driven Development by K. Beck; and Lessons Learned in Software Testing by C. Kaner, J. Bach, and B. Pettichord, May/June, pp. 107–108.

Berzal, Fernando, Juan-Carlos Cubero, Nicolás Marín, and María-Amparo Vila, "Lazy Types: Automating Dynamic Strategy Selection" [Feature], Sept./Oct., pp. 98–106.

Bhuta, Jesal, see Yang, Ye.

Bodoff, David, Mordechai Ben-Menachem, and Patrick C.K. Hung, "Web Metadata Standards: Observations and Prescriptions" [Feature], Jan./Feb., pp. 78–85.

Boehm, Barry, and Richard Turner, "Management Challenges to Implementing Agile Processes in Traditional Development Organizations" [Project Management], Sept./Oct., pp. 30–39.

Boehm, Barry, see also Chen, Zhihao, and Yang, Ye.

Brinkkemper, Sjaak, see Dag, Johan Natt och.

C

Caplat, Guy, and Jean-Louis Sourrouille, "Model Mapping Using Formalism Extensions" [Postmodern Software Design], Mar./Apr., pp. 44–51.

Ceschi, Martina, Alberto Sillitti, Giancarlo Succi, and Stefano De Panfilis, "Project Management in Plan-Based and Agile Companies" [Adapting Agility], May/June, pp. 21–27.

Chen, Yaofei, Rose Dios, Ali Mili, Lan Wu, and Kefei Wang, "An Empirical Study of Programming Language Trends" [Feature], May/June, pp. 72–78.

Chen, Zhihao, Tim Menzies, Daniel Port, and Barry Boehm, "Finding the Right Data for Software Cost Modeling" [Predictor Models], Nov./Dec., pp. 38–46.

Ciordia, Ismail, see Serrano, Nicolás.

Clements, Paul C., Lawrence G. Jones, John D. McGregor, and Linda M. Northrop, "Project Management in a Software Product Line Organization" [Project Management], Sept./Oct., pp. 54–62.

Cohen, Mark A., see Bach, Paula M.

Cole, Bernard, "Software Boot Camps Are In, and Focused on Security" [In the News], July/Aug., p. 112.

Costlow, Terry, "Standards Aim to Improve Computer Security" [In the News], Sept./Oct., p. 113.

Cubero, Juan-Carlos, see Berzal, Fernando.

Cukic, Bojan, "The Promise of Public Software Engineering Data Repositories" [Guest Editor's Introduction], Nov./Dec., pp. 20–22.

Cukic, Bojan, "The Virtues of Assessing Software Reliability Early" [Quality Time], May/June, pp. 50–53.

D

Dag, Johan Natt och, Vincenzo Gervasi, Sjaak Brinkkemper, and Björn Regnell, "A Linguistic-Engineering Approach to Large-Scale Requirements Management" [Innovation in Requirements Engineering], Jan./Feb., pp. 32–39.

Dance, John R., "A Book by Another Name" [Bookshelf], review of Programming in the .NET Environment by D. Watkins, M. Hammond, and B. Abrams, Jan./Feb., pp. 95–96.

Dangle, Kathleen Coleman, Patricia Larsen, Michele Shaw, and Marvin V. Zelkowitz, "Software Process Improvement in Small Organizations: A Case Study" [Feature], Nov./Dec., pp. 68–75.

Darcy, David P., and Chris F. Kemerer, "OO Metrics in Practice" [Quality Time], Nov./Dec., pp. 17–19.

De Backer, Manu, see Lemahieu, Wilfried.

Dedene, Guido, see Lemahieu, Wilfried.

Dekhtyar, Alex, see Hayes, Jane Huffman.

De Panfilis, Stefano, see Ceschi, Martina.

Desouza, Kevin C., and Yukika Awazu, "IT Project Estimation: Recommended for Beginners" [Bookshelf], review of IT Project Estimation by P. Coombs, Jan./Feb., p. 97.

Dick, Jeremy, "Design Traceability" [Requirements], Nov./Dec., pp. 14–16.

Di Giacomo, Mariella, "MySQL: Lessons Learned on a Digital Library" [Open Source], May/June, pp. 10–13.

Dios, Rose, see Chen, Yaofei.

Dolan, Dana, see Nidiffer, Kenneth E.

Donnellan, Brian, Brian Fitzgerald, Brian Lake, and John Sturdy, Implementing an Open Source Knowledge Base" [Open Source], University of Limerick, Nov./Dec., pp. 92–95.

Donzelli, Paolo, Marvin Zelkowitz, Victor Basili, Dan Allard, and Kenneth N. Meyer, "Evaluating COTS Component Dependability in Context" [COTS Integration], July/Aug., pp. 46–53.

Dörr, Jörg, see Paech, Barbara.

Dozier, Christopher, and Peter Jackson, "Mining Text for Expert Witnesses" [Feature], May/June, pp. 94–100.

Dybå, Tore, Barbara A. Kitchenham, and Magne Jørgensen, "Evidence-Based Software Engineering for Practitioners" [Evidence-Based Software Engineering], Jan./Feb., pp. 58–65.

E

Eatough, David Arthur, "Get Excited about Extreme Programming" [Bookshelf], review of A Practical Guide to Extreme Programming by D. Astels, G. Miller, and M. Novak, Jan./Feb., pp. 96–97.

Ebert, Christof, "Making Up the Numbers" [Bookshelf], review of Five Core Metrics by L.H. Putnam and W. Myers, May/June, pp. 108–109.

Ebert, Christof, see also Maiden, Neil.

Egyed, Alexander, Hausi A. Müller, and Dewayne E. Perry, "Integrating COTS into the Development Process" [Guest Editors' Introduction], July/Aug., pp. 16–18.

Erdogmus, Hakan, "The Economic Impact of Learning and Flexibility on Process Decisions" [Feature], Nov./Dec., pp. 76–83.

Evanco, William M., see Verner, June M.

F

Fairley, Richard E., "Software Risk Management" [Software Engineering Glossary], May/June, p. 101.

Fitzgerald, Brian, see Donnellan, Brian, and Lang, Michael.

Fleurey, Franck, see Baudry, Benoit.

Fowler, Martin, "The State of Design" [Design], Nov./Dec., pp. 12–13.

Freedman, Paul, "Technical and Business Concerns in Software Development" [Bookshelf], review of Software by Numbers by M. Denne and J. Cleland-Huang, Mar./Apr., pp. 90–91.

G

Garcia, Suzanne, "How Standards Enable Adoption of Project Management Practice" [Project Management], Sept./Oct., pp. 22–29.

Garzás, Javier, and Mario Piattini, "An Ontology for Microarchitectural Design Knowledge" [Postmodern Software Design], Mar./Apr., pp. 28–33.

Gause, Donald C., "Why Context Matters—And What Can We Do about It?" [Requirements], Sept./Oct., pp. 13–15.

Gervasi, Vincenzo, see Dag, Johan Natt och.

Glass, Robert L., "A Follow-the-Leader Story with a Strange Ending" [Loyal Opposition], Nov./Dec., pp. 112, 111.

Glass, Robert L., "IT Failure Rates—70% or 10–15%?" [Loyal Opposition], May/June, pp. 112, 110–111.

Glass, Robert L., "Never the CS and IS Twain Shall Meet?" [Loyal Opposition], Sept./Oct., pp. 120, 119.

Glass, Robert L., "A Sad SAC Story about the State of the Practice" [Loyal Opposition], July/Aug., pp. 120, 119.

Glass, Robert L., "Viruses Are Beginning to Get to Me!" [Loyal Opposition], Jan./Feb., pp. 104, 102–103.

Goethals, Frank, see Lemahieu, Wilfried.

Gonzales, Regina, "Developing the Requirements Discipline: Software vs. Systems" [Requirements], Mar./Apr., pp. 59–61.

Goth, Greg, "Beware the March of This IDE: Eclipse Is Overshadowing Other Tool Technologies" [In the News], July/Aug., pp. 108–111.

Goth, Greg, "Enter the Protectionist Dragon? China's Software and Standards Policies Stir Debate and Reflection" [In the News], Mar./Apr., pp. 83–87.

Goth, Greg, "Following the Money: Research Funding Fluctuates Globally" [In the News], Sept./Oct., pp. 110–112, 114.

Goth, Greg, "Open Source Business Models: Ready for Prime Time" [In the News], Nov./Dec., pp. 98–100.

Greenwood, R. Mark, see Warboys, Brian.

H

Haesen, Raf, see Lemahieu, Wilfried.

Hagge, Lars, and Kathrin Lappe, "Sharing Requirements Engineering Experience Using Patterns" [Innovation in Requirements Engineering], Jan./Feb., pp. 24–31.

Harrison, Warren, "Constant Connectivity: Just Because You Can Doesn't Mean You Should" [From the Editor], Mar./Apr., pp. 5–7.

Harrison, Warren, "Do You Learn Just in Time or Just in Case?" [From the Editor], Jan./Feb., pp. 5–7.

Harrison, Warren, "High-Tech Disasters" [From the Editor], Nov./Dec., pp. 3–5.

Harrison, Warren, "Our 2004 Reviewers" [Reviewer Thanks], Mar./Apr., pp. 92–93.

Harrison, Warren, "The Saboteur Within" [From the Editor], July/Aug., pp. 5–7.

Harrison, Warren, "Skinner Wasn't a Software Engineer" [From the Editor], May/June, pp. 5–7.

Harrison, Warren, "What Do Software Developers Need to Know about Business?" [From the Editor], Sept./Oct., pp. 5–7.

Hassler, Vesna, "Open Source Libraries for Information Retrieval" [Open Source], Sept./Oct., pp. 78–82.

Hayes, Jane Huffman, Alex Dekhtyar, and Senthil Sundaram, "Improving After-the-Fact Tracing and Mapping: Supporting Software Quality Predictions" [Predictor Models], Nov./Dec., pp. 30–37.

Heitmeyer, Connie, "Point/Counterpoint: System Designers, Not Analysts, Should Design" [Innovation in Requirements Engineering], Jan./Feb., pp. 49–51.

Hirsh, Barbara, "Positive Reinforcement as a Quality Tool" [Quality Time], Mar./Apr., pp. 62–63.

Ho, Weng Khuen, see Liu, Jun.

Hohpe, Gregor, "Your Coffee Shop Doesn't Use Two-Phase Commit" [Design], Mar./Apr., pp. 64–66.

Hung, Patrick C.K., see Bodoff, David.

J

Jackson, Peter, see Dozier, Christopher.

Jézéquel, Jean-Marc, see Baudry, Benoit.

Johnson, Philip M., Hongbing Kou, Michael Paulding, Qin Zhang, Aaron Kagawa, and Takuya Yamashita, "Improving Software Development Management through Software Project Telemetry" [Feature], July/Aug., pp. 76–85.

Jones, Lawrence G., see Clements, Paul C.

Jones, Steve, "Toward an Acceptable Definition of Service" [Feature], May/June, pp. 87–93.

Jørgensen, Magne, "Practical Guidelines for Expert-Judgment-Based Software Effort Estimation" [Cost and Value], May/June, pp. 57–63.

Jørgensen, Magne, see also Dybø, Tore.

Jury, Angela, "A Complete Code-Reading Source" [Bookshelf], review of Code Reading by D. Spinellis, July/Aug., pp. 116–117.

K

Kagawa, Aaron, see Johnson, Philip M.

Kamsties, Erik, see Berry, Daniel M.

Kandrup, Susanne, "On Systems Coaching" [Requirements], Jan./Feb., pp. 52–54.

Karlström, Daniel, and Per Runeson, "Combining Agile Methods with Stage-Gate Project Management" [Adapting Agility], May/June, pp. 43–49.

Keil, Mark, and Amrit Tiwana, "Beyond Cost: The Drivers of COTS Application Value" [Cost and Value], May/June, pp. 64–69.

Kemerer, Chris, see Darcy, David P.

Kirby, Graham, see Warboys, Brian.

Kitchenham, Barbara A., see Dybå, Tore.

Koehler, Mathias, see Paech, Barbara.

Kohl, Ronald J., "Requirements Engineering Changes for COTS-Intensive Systems" [Quality Time], July/Aug., pp. 63–64.

Kompalli, Prasad, see Ramasubbu, Narayan.

Koru, A. Günes, and Hongfang Liu, "Building Effective Defect Prediction Models in Practice" [Predictor Models], Nov./Dec., pp. 32–39.

Kou, Hongbing, see Johnson, Philip M.

Krishnan, M.S., see Ramasubbu, Narayan.

Kruchten, Philippe, "Casting Software Design in the Function-Behavior-Structure Framework" [Postmodern Software Design], Mar./Apr., pp. 52–58.

Kruchten, Philippe, "Software Design in a Postmodern Era" [Editor's Introduction], Mar./Apr., pp. 16–18.

Kshetri, Nir, "Structural Shifts in the Chinese Software Industry" [Feature], July/Aug., pp. 86–93.

L

Lake, Brian, see Donnellan, Brian.

Lang, Michael, and Brian Fitzgerald, "Hypermedia Systems Development Practices: A Survey" [Feature], Mar./Apr., pp. 68–75.

Lappe, Kathrin, see Hagge, Lars.

Larsen, Patricia, see Dangle, Kathleen Coleman.

Lemahieu, Wilfried, Monique Snoeck, Frank Goethals, Manu De Backer, Raf Haesen, Guido Dedene, and Jacques Vandenbulcke, "Coordinating COTS Applications via a Business Event Layer" [COTS Integration], July/Aug., pp. 28–35.

Le Traon, Yves, see Baudry, Benoit.

Lim, Khiang Wee, see Liu, Jun.

Little, Todd, "Context-Adaptive Agility: Managing Complexity and Uncertainty" [Adapting Agility], May/June, pp. 28–35.

Liu, Hongfang, see Koru, A. Günes,.

Liu, Jun, Khiang Wee Lim, Weng Khuen Ho, Kay Chen Tan, Arthur Tay, and Rajagopalan Srinivasan, "Using the OPC Standard for Real-Time Process Monitoring and Control" [Feature], Nov./Dec., pp. 54–59.

Louridas, Panagiotis, "JUnit: Unit Testing and Coding in Tandem" [Open Source], July/Aug., pp. 12–15.

M

Maiden, Neil, "What Has Requirements Research Ever Done for Us?" [Requirements], July/Aug., pp. 104–105.

Maiden, Neil, Suzanne Robertson, and Christof Ebert, "Shake, Rattle, and Requirements" [Guest Editors' Introduction], Jan./Feb., pp. 13–15.

Maiden, Neil, see also Zachos, Konstantinos.

Maranzano, Joseph F., Sandra A. Rozsypal, Guy W. Warnken, David M. Weiss, Patricia E. Wirth, and Gus. H. Zimmerman, "Architecture Reviews: Practice and Experience" [Postmodern Software Design], Mar./Apr., pp. 34–43.

Marín, Nicolás, see Berzal, Fernando.

Marliss, Garry S., see Ben-Menachem, Mordechai.

Martin, Robert C., "The Test Bus Imperative: Architectures That Support Automated Acceptance Testing" [Design], July/Aug., pp. 65–67.

Massey, Bart, "Opening the Mainstream: O'Reilly Oscon 2005" [In the News], Nov./Dec., pp. 101–102.

Mathiassen, Lars, Ojelanki K. Ngwenyama, and Ivan Aaen, "Managing Change in Software Process Improvement" [Feature], Nov./Dec., pp. 84–91.

McGregor, John D., see Clements, Paul C.

McLaughlin, Laurianne, "Cybercorps Scholarships Fund New Generation of Security Gurus" [In the News], Jan./Feb., pp. 98–100.

McLaughlin, Laurianne, "Inside the Software Patents Debate: Some Good News for Open Source Developers" [In the News], May/June, pp. 102–104.

Medvidovic, Nenad, "Software Architectures and Embedded Systems: A Match Made in Heaven?" [Quality Time], Sept./Oct., pp. 83–86.

Mellor, Stephen J., "Adapting Agile Approaches to Your Project Needs" [Editor's Introduction], May/June, pp. 17–20.

Mellor, Stephen J., "UML Distilled: From Difficulties to Assets" [Bookshelf], review of UML Distilled by M. Fowler, May/June, pp. 106–107.

Menzies, Tim, see Chen, Zhihao.

Meyer, Kenneth N., see Donzelli, Paolo.

Mickan, Katherine, see Warboys, Brian.

Mili, Ali, see Chen, Yaofei.

Morrison, Ron, see Warboys, Brian.

Müller, Hausi A., see Egyed, Alexander.

N

Naveda, J. Fernando, and Stephen B. Seidman, "Professional Certification of Software Engineers: The CSDP Program" [Project Management], Sept./Oct., pp. 73–77.

Ngwenyama, Ojelanki K., see Mathiassen, Lars.

Nidiffer, Kenneth E., and Dana Dolan, "Evolving Distributed Project Management" [Project Management], Sept./Oct., pp. 63–72.

Northrop, Linda M., see Clements, Paul C.

P

Paech, Barbara, Jörg Dörr, and Mathias Koehler, "Improving Requirements Engineering Communication in Multiproject Environments" [Innovation in Requirements Engineering], Jan./Feb., pp. 40–47.

Parsons, Rebecca J., "Enterprise Architects Join the Team" [Design], Sept./Oct., pp. 16–17.

Paul, Ray, see Tsai, Wei-Tek.

Paulding, Michael, see Johnson, Philip M.

Penberthy, Stratton, "The Philosophy of Good Programming" [Bookshelf], review of The Art of UNIX Programming by E.S. Raymond, July/Aug., pp. 118.

Perry, Dewayne E., see Egyed, Alexander.

Pfleeger, Shari Lawrence, "Soup or Art? The Role of Evidential Force in Empirical Software Engineering" [Evidence-Based Software Engineering], Jan./Feb., pp. 66–73.

Piattini, Mario, see Garzás, Javier.

Port, Daniel N., see Chen, Zhihao, and Yang, Ye.

Putrycz, Erik, Murray Woodside, and Xiuping Wu, "Performance Techniques for COTS Systems" [COTS Integration], July/Aug., pp. 36–44.

Pyster, Arthur B., and Richard H. Thayer, "Software Engineering Project Management 20 Years Later" [Guest Editors' Introduction], Sept./Oct., pp. 18–21.

R

Ramasubbu, Narayan, Prasad Kompalli, and M.S. Krishnan, "Leveraging Global Resources: A Process Maturity Framework for Managing Distributed Development" [Feature], May/June, pp. 80–86.

Reed, Karl, "Software Engineering: The Past, the Future, and Your TCSE" [From Your Technical Council], July/Aug., pp. 106–107.

Reed, Karl, see also Thompson, J. Barrie.

Regnell, Björn, see Dag, Johan Natt och.

Remillard, Jason, "Source Code Review Systems" [Open Source], Jan./Feb., pp. 74–77.

Robertson, Ian, see Warboys, Brian, July/Aug., pp. 20–27.

Robertson, James, "Point/Counterpoint: Requirements Analysts Must Also Be Inventors" [Innovation in Requirements Engineering], Jan./Feb., pp. 48, 50–51.

Robertson, Suzanne, "Learning from Other Disciplines" [Requirements], May/June, pp. 54–56.

Robertson, Suzanne, see also Maiden, Neil.

Robillard, Pierre N., "Opportunistic Problem Solving in Software Engineering" [Feature], Nov./Dec., pp. 60–67.

Rost, Johann, "Software Engineering Theory in Practice" [Loyal Opposition], Mar./Apr., pp. 96, 94–95.

Royce, Walker, "Successful Software Management Style: Steering and Balance" [Project Management], Sept./Oct., pp. 40–47.

Rozsypal, Sandra A., see Maranzano, Joseph F.

Ruhe, Günther, and Moshood Omolade Saliu, "The Art and Science of Software Release Planning" [Feature], Nov./Dec., pp. 47–53.

Runeson, Per, see Karlström, Daniel.

S

Saliu, Moshood Omolade, "Understanding Story-Driven Development Process" [Bookshelf], review of User Stories Applied by M. Cohn, Nov./Dec., pp. 103–104.

Saliu, Moshood Omolade, see also Ruhe, Günther.

Schatz, Bob, and Ibrahim Abdelshafi, "Primavera Gets Agile: A Successful Transition to Agile Development" [Adapting Agility], May/June, pp. 36–42.

Sedighi, Art, "A Must-Read for Architect and System Integrators" [Bookshelf], review of Service-Oriented Architecture by T. Erl, Sept./Oct., pp. 115–116.

Seet, Wykeen, see Warboys, Brian.

Seidman, Stephen B., see Naveda, J. Fernando.

Sengupta, Shubhashis, "The Grid Almanac" [Bookshelf], review of The Grid 2: Blueprint for a New Computing Infrastructure, Ian Foster and Carl Kesselman, eds., Nov./Dec., pp. 104.

Sengupta, Shubhashis, "A Technological Account of Grid Computing" [Bookshelf], review of Grid Computing by J. Joseph and C. Fellenstein, July/Aug., pp. 117–118.

Serrano, Nicolás, and Ismael Ciordia, "Bugzilla, ITracker, and Other Bug Trackers" [Open Source], Mar./Apr., pp. 11–13.

Shaw, Michele, see Dangle, Kathleen Coleman.

Sillitti, Alberto, see Ceschi, Martina.

Snoeck, Monique, see Lemahieu, Wilfried.

Snowdon, Bob, see Warboys, Brian.

Sommerville, Ian, "Integrated Requirements Engineering: A Tutorial" [Innovation in Requirements Engineering], Jan./Feb., pp. 16–23.

Sourrouille, Jean-Louis, see Caplat, Guy.

Spinellis, Diomidis, "Coding for Numbers" [Bookshelf], review of Numerical Recipes in C++, Jan./Feb., pp. 94–95.

Spinellis, Diomidis, "Dear Editor" [Tools of the Trade], Mar./Apr., pp. 14–15.

Spinellis, Diomidis, "Java Makes Scripting Languages Irrelevant?" [Tools of the Trade], May/June, pp. 70–71.

Spinellis, Diomidis, "Tool Writing: A Forgotten Art?" [Tools of the Trade], July/Aug., pp. 9–11.

Spinellis, Diomidis, "The Tools at Hand" [Tools of the Trade], Jan./Feb., pp. 10–12.

Spinellis, Diomidis, "Working with Unix Tools" [Tools of the Trade], Nov./Dec., pp. 9–11.

Spinellis, Diomidis, "Version Control, Part 1" [Software Engineering Glossary], Sept./Oct., pp. 107.

Spinellis, Diomidis, "Version Control, Part 2" [Software Engineering Glossary], Nov./Dec., inside back cover.

Spinellis, Diomidis, "Version Control Systems" [Tools of the Trade], Sept./Oct., pp. 108–109.

Srinivasan, Rajagopalan, see Liu, Jun.

Sturdy, John, see Donnellan, Brian.

Succi, Giancarlo, see Ceschi, Martina.

Sundaram, Senthil, see Hayes, Jane Huffman.

T

Tan, Kay Chen, see Liu, Jun.

Tay, Arthur, see Liu, Jun.

Thayer, Richard H., "Software Design Part 3," Jan./Feb., inside back cover.

Thayer, Richard H., "Software Maintenance," July/Aug., p. 103.

Thayer, Richard H., see also Pyster, Arthur B.

Thomas, Dave, "Agile Programming: Design to Accommodate Change" [Design], May/June, pp. 14–16.

Thomas, Martyn, "Learning from Software Failure" [Bookshelf], review of Software Development Failures by K. Ewusi-Mensah and Successful IT Project Delivery by D. Yardley, Sept./Oct., pp. 116–117.

Thompson, J. Barrie, and Karl Reed, "Undergraduate Software Engineering Education: The Mark of a Discipline" [From Your Technical Council], Nov./Dec., pp. 96–97.

Tiwana, Amrit, see Keil, Mark.

Tosar, Amit, see Zachos, Konstantinos.

Tsai, Wei-Tek, Feng Zhu, Lian Yu, and Ray Paul, "Rapid Embedded System Testing Using Verification Patterns" [Feature], July/Aug., pp. 68–75.

Turner, Richard, see Boehm, Barry.

Tyree, Jeff, and Art Akerman, "Architecture Decisions: Demystifying Architecture" [Postmodern Software Design], Mar./Apr., pp. 19–27.

V

Vandenbulcke, Jacques, see Lemahieu, Wilfried.

Venugopal, C., "Single Goal Set: A New Paradigm for IT Megaproject Success" [Project Management], Sept./Oct., pp. 48–53.

Verner, June M., and William M. Evanco, "In-House Software Development: What Project Management Practices Lead to Success?" [Feature], Jan./Feb., pp. 86–93.

Vila, María-Amparo, see Berzal, Fernando.

W

Wang, Kefei, see Chen, Yaofei.

Warboys, Brian, Bob Snowdon, R. Mark Greenwood, Wykeen Seet, Ian Robertson, Ron Morrison, Graham Kirby, Dharini Balasubramaniam, and Katherine Mickan, "An Active-Architecture Approach to COTS Integration" [COTS Integration], July/Aug., pp. 20–27.

Warnken, Guy W., see Maranzano, Joseph F.

Weiss, David M., see Maranzano, Joseph F.

West, Joel, "Understanding Open Source Licensing: Three How-To Guides" [Bookshelf], review of Open Source Software Law by R. Dixon, Understanding Open Source and Free Software Licensing by A.M. St. Laurent, and Open Source Licensing by L. Rosen, July/Aug., pp. 114–116.

Winters, Geri, "Use Case Terminology" [Software Engineering Glossary], Mar./Apr., pp. 67.

Wirth, Patricia E., see Maranzano, Joseph F.

Woodside, Murray, see Putrycz, Erik.

Wu, Lan, see Chen, Yaofei.

Wu, Xiuping, see Putrycz, Erik.

Y

Yamashita, Takuya, see Johnson, Philip M.

Yang, Ye, Jesal Bhuta, Daniel N. Port, and Barry Boehm, "Value-Based Processes for COTS-Based Applications" [COTS Integration], July/Aug., pp. 54–62.

Yu, Lian, see Tsai, Wei-Tek.

Z

Zachos, Konstantinos, Neil Maiden, and Amit Tosar, "Rich-Media Scenarios for Discovering Requirements" [Feature], Sept./Oct., pp. 89–97.

Zelkowitz, Marvin, see Dangle, Kathleen Coleman, and Donzelli, Paolo.

Zhang, Qin, see Johnson, Philip M.

Zhu, Feng, see Tsai, Wei-Tek.

Zimmerman, Gus H., see Maranzano, Joseph F.

14 ms
(Ver 2.0)

Marketing Automation Platform Marketing Automation Tool