This Article 
 Bibliographic References 
 Add to: 
SubCM: A Tool for Improved Visibility of Software Change in an Industrial Setting
October 2004 (vol. 30 no. 10)
pp. 675-693
Software Configuration Management is the discipline of managing large collections of software development artefacts from which software products are built. Software configuration management tools typically deal with artefacts at fine levels of granularity—such as individual source code files—and assist with coordination of changes to such artefacts. This paper describes a lightweight tool, designed to be used on top of a traditional file-based configuration management system. The add-on tool support enables users to flexibly define new hierarchical views of product structure, independent of the underlying artefact-repository structure. The tool extracts configuration and change data with respect to the user-defined hierarchy, leading to improved visibility of how individual subsystems have changed. The approach yields a range of new capabilities for build managers, and verification and validation teams. The paper includes a description of our experience using the tool in an organization that builds large embedded software systems.

[1] U. Asklund, L. Bendix, H.B. Christensen, and B. Magnusson, “The Unified Versioning Model,” Proc. Ninth Int'l Symp. System Configuration Management, 1999.
[2] B. Barkstrom, “Software Architecture and Software Configuration Management,” Proc. Conf. Software Configuration Management (SCM 2001/2003), B. Westfechtel and A. van der Hoek, eds., 2003.
[3] L. Bendix, P.N. Larsen, A.I. Nielsen, and J.L.S. Petersen, “Coed— A Tool for Versioning of Hierarchical Documents,” Proc. Eighth Int'l Symp. System Configuration Management, 1998.
[4] P.E. Bennett, “Small Modules as Configuration Items in Certified Safety Critical Systems,” Proc. Sixth Safety Critical Systems Symp., F. Redmill and T. Anderson, eds., 1998.
[5] E.H. Bersoff, V.D. Henderson, and S.G. Siegel, Software Configuration Management. Prentice Hall, 1980.
[6] H.B. Christensen, “The Ragnarok Architectural Software Configuration Management Model,” Proc. 32nd Hawaii Int'l Conf. System Sciences, 1999.
[7] “CM Yellow Pages,” http:/, 2003.
[8] R. Conradi, M. Hagaseth, J. Larsen, M. Nguyen, B. Munch, P. Westby, W. Zhu, M. Jaccheri, and C. Liu, “Object-Oriented and Cooperative Process Modelling in EPOS,” Software Process Modelling and Technology A. Finkelstein, J. Kramer, and B. Nuseibeh, eds., Advanced Software Development Series, pp. 9-32, 1994.
[9] R. Conradi and B. Westfechtel, “Version Models for Software Configuration Management,” ACM Computing Surveys, vol. 30, no. 2, pp. 232-282, June 1998.
[10] “Task-Based CM,” Continuus Software Corporation, 1996.
[11] “Introduction to Continuus/CM,” Continuus Software Corporation, 1999.
[12] CVS, “Concurrent Version System,” http:/, 2003.
[13] S. Dart, “Concepts in Configuration Management Systems,” Proc. Third Int'l Software Configuration Management Workshop, pp. 1-18, June 1991.
[14] M. de Jonge, “Source Tree Composition,” Proc. Seventh Int'l Conf. Software Reuse, C. Gaeck, ed., 2002.
[15] S.G. Eick, T.L. Graves, A.F. Karr, A. Mockus, and P. Schuster, “Visualizing Software Changes,” IEEE Trans. Software Eng., vol. 28, no. 4, pp. 396-412, Apr. 2002.
[16] J. Estublier and R. Casallas, “The Adele Configuration Manager,” Configuration Management, W. Tichy, ed., 1994.
[17] M. Lanza, “The Evolution Matrix: Recovering Software Evolution Using Software Visualization Techniques,” Proc. Fourth Int'l Workshop Principles of Software Evolution, pp. 37-42, 2002.
[18] Y.-J. Lin and S.P. Reiss, “Configuration Management with Logical Structures,” Proc. Int'l Conf. Software Eng. 18, pp. 298-307, Mar. 1996.
[19] P. Lindsay, A. MacDonald, M. Staples, and P. Strooper, “A Framework for Subsystem-Based Configuration Management,” Proc. Australian Software Eng. Conf., D. Grant and L. Sterling, eds., pp. 275-284, 2001.
[20] B. Magnusson and U. Asklund, “Fine Grained Version Control of Configurations in COOP/Orm,” Proc. Sixth Int'l Symp. System Configuration Management, pp. 31-48, 1996.
[21] Microsoft, “Visual SourceSafe,”, 2004.
[22] A. Midha, “Software Configuration Management for the 21st Century,” Technical Report 2(1), Bell Labs Technical J., Winter, 1997, .
[23] Python Software Foundation Offical Website, http:/www., 2003.
[24] Rational, “ClearCase,” http:/, 2004.
[25] Rational, “Introduction to ClearCase,” Number 800-012697-000 in Rational Technical Series, Rational Software Corporation, Dec. 1999.
[26] Rational, “Unified Change Management from Rational Software: An Activity-Based Process for Managing Change,” White Paper TP-710 10/00, Rational, the e-development company, Oct. 2000.
[27] J.A. Scott and D. Nisse, “Software Configuration Management,” Guide to the Software Eng. Body of Knowledge— Trial Version, A. Abran and J.W. Moore, eds., chapter 7, pp. 103-120, 2001, http:/
[28] Telelogic, “CM Synergy Toolset,” cmsynergy, 2003.
[29] U.K. Ministry of Defence, “Configuration Management of Defence Material,” Defence Standard 05-57/Issue 4, July 2000, http:/
[30] A. van der Hoek, A. Carzaniga, D. Heimbigner, and A. Wolf, “A Testbed for Configuration Management Policy Programming,” IEEE Trans. Software Eng., vol. 28, no. 1, pp. 79-99, Jan. 2002.
[31] A. van der Hoek, D. Heimbigner, and A. Wolf, “A Generic, Peer-to-Peer Repository for Distributed Configuration Management,” Proc. Int'l Conf. Software Eng. 18, pp. 308-317, Mar. 1996.
[32] Razor: Release management, File Version Control and Problem Tracking, Visible Systems Corporation, 2003, http://www.visible. com/Products/Razorindex.html .
[33] H. Völzer, B. Atchison, P. Lindsay, A. MacDonald, and P. Strooper, “A Tool for Subsystem Configuration Management,” Proc. Int'l Conf. Software Maintenance, pp. 492-500, 2002.
[34] C. Walrad and D. Strom, “The Importance of Branching Models in SCM,” Computer, pp. 31-38, Sept. 2002.
[35] B. Westfechtel and R. Conradi, “Software Architecture and Software Configuration Management,” Proc. Conf. Software Configuration Management (SCM 2001/2003), B. Westfechtel and A. van der Hoek, eds., 2003.
[36] D. Whitgift, Methods and Tools for Software Configuration Management. John Wiley and Sons, 1991.

Index Terms:
Software configuration management, software maintenance, verification and validation.
Hagen V?lzer, Anthony MacDonald, Brenton Atchison, Andrew Hanlon, Peter Lindsay, Paul Strooper, "SubCM: A Tool for Improved Visibility of Software Change in an Industrial Setting," IEEE Transactions on Software Engineering, vol. 30, no. 10, pp. 675-693, Oct. 2004, doi:10.1109/TSE.2004.67
Usage of this product signifies your acceptance of the Terms of Use.