Infuse: fusing integration test management with change management

Infuse is an experimental software development environment focusing on change coordination during the maintenance/evolution phase of large-scale software projects. Its core philosophy is to integrate strongly connected modules first and more weakly connected sets of modules later, moving up a hierarchy from singletons to clusters of interdependent modules and, finally, merging the change set into the baseline. The use of Infuse is extended to dynamic consistency, i.e. testing. Unit testing is done for the individual modules at the leaves of the hierarchy, integration testing for the intermediate clusters and acceptance testing at the root. Infuse supports this by partially automating the construction of test harnesses and regression test suites at each level of the hierarchy from components available from lower levels. Infuse is implemented in C and is used to support its own evolution, but the implementation does not yet provide the test management described.<<ETX>>

[1]  Jack C. Wileden,et al.  Ada-Based support for programming-in-the-Large , 1985, IEEE Software.

[2]  John H. Rowland,et al.  Some Theory Concerning Certification of Mathematical Subroutines by Black Box Testing , 1987, IEEE Transactions on Software Engineering.

[3]  Richard E. Fairley,et al.  Software engineering concepts , 1985, McGraw-Hill series in software engineering and technology.

[4]  Gail E. Kaiser,et al.  Infuse: a tool for automatically managing and coordinating source changes in large systems , 1987, CSC '87.

[5]  Elaine J. Weyuker,et al.  A data flow testing tool , 1985 .

[6]  Gail E. Kaiser,et al.  Change management for very large software systems , 1988, Seventh Annual International Phoenix Conference on Computers an Communications. 1988 Conference Proceedings.

[7]  David Notkin,et al.  Gandalf: Software development environments , 1986, IEEE Transactions on Software Engineering.

[8]  Richard T. Snodgrass,et al.  Supporting Flexible and Efficient Tool Integration , 1986, Advanced Programming Environments.

[9]  Barry W. Boehm,et al.  A spiral model of software development and enhancement , 1986, Computer.

[10]  Gail E. Kaiser,et al.  Intelligent Assistance without Artificial Intelligence , 1987, COMPCON.

[11]  Walter F. Tichy,et al.  Rcs — a system for version control , 1985, Softw. Pract. Exp..

[12]  A. Nico Habermann,et al.  Software Development Environments , 1987, Computer.

[13]  William E. Howden,et al.  Functional Program Testing , 1978, IEEE Transactions on Software Engineering.

[14]  Josephine Micallef,et al.  Multiuser, Distributed Language-Based Environments , 1987, IEEE Software.

[15]  Dewayne E. Perry The inscape environment , 1989, ICSE '89.

[16]  J. Paul Myers,et al.  The Path Prefix Software Testing Strategy , 1987, IEEE Transactions on Software Engineering.

[17]  Masahiro Honda,et al.  Object management in a CASE environment , 1989, ICSE '89.

[18]  Walter F. Tichy,et al.  Smart recompilation , 1986, TOPL.

[19]  Takeshi Chusho,et al.  Test Data Selection and Quality Estimation Based on the Concept of Essential Branches for Path Testing , 1987, IEEE Transactions on Software Engineering.

[20]  Gail E. Kaiser,et al.  WORKSPACES AND EXPERIMENTAL DATABASES: AUTOMATED SUPPORT FOR SOFTWARE MAINTENANCE AND EVOLUTION. , 1987 .

[21]  Calton Pu,et al.  Split-Transactions for Open-Ended Activities , 1988, VLDB.

[22]  Dewayne E. Perry,et al.  Software interconnection models , 1987, ICSE '87.

[23]  Elaine J. Weyuker,et al.  Axiomatizing software test data adequacy , 1986, IEEE Transactions on Software Engineering.

[24]  Gail E. Kaiser,et al.  Models of software development environments , 1988, Proceedings. [1989] 11th International Conference on Software Engineering.

[25]  B. R. Rowland,et al.  The 3B20D Processor & DMERT operating system: Software development system , 1983, The Bell System Technical Journal.