This Article 
   
 Share 
   
 Bibliographic References 
   
 Add to: 
 
Digg
Furl
Spurl
Blink
Simpy
Google
Del.icio.us
Y!MyWeb
 
 Search 
   
Measuring the Maintainability of a Communication Protocol Based on Its Formal Specification
April 2003 (vol. 29 no. 4)
pp. 327-344

Abstract—It is difficult to measure the maintainability of a software system early in the development life cycle from its requirement descriptions written in a natural language because informal specifications cannot be analyzed. With the uses of Formal Description Techniques (FDTs) in the communication protocol area since the mid-1980s, avenues have been opened up for a system to be analyzed early in the specification phase. Quantitative measures on its maintainability can then be extracted from such a formal specification, so that we can develop easily maintainable communication software systems and further reduce the increasingly high cost of software maintenance. To date, there is hardly any work done on measuring the maintainability of a system early in its specification phase. This paper presents a method for measuring the maintainability of a communication by using maintainability metrics derived from its formal specification written in Estelle. The methodology for building the Estelle maintainability metrics hierarchy is presented. We have also developed an automated tool, called PSAMS, to automate the calculation of the maintainability indices. We also found that there is a significant correlation between the specification metrics proposed and the widely adopted implementation metrics, thus demonstrating that our proposed metrics are a reliable means of measuring the maintainability of a communication protocol early in the specification phase.

[1] S.S. Yau, R.A. Nicholl, J.J.-P. Tsai, and S.S. Liu, “An Integrated Life-Cycle Model for Software Maintenance,” IEEE Trans. Software Eng., vol. 14, no. 8, pp. 1128-1144, Aug. 1988.
[2] H.D. Rombach and B.T. Ulery, “Improving Software Maintenance through Measurement,” Proc. IEEE, vol. 77, no. 4, pp. 581-595, Apr. 1989.
[3] S.R. Chidamber and C.F. Kemerer, "A Metrics Suite for Object Oriented Design," IEEE Trans. Software Eng., vol. 20, no. 6, pp. 476-493, 1994.
[4] D.P. Tegarden, S.D. Sheetz, and D.E. Monarchi, “A Software Complexity Model of Object-Oriented Systems,” Decision Support Systems, vol. 13, nos. 3/4, pp. 241-262, Mar. 1995.
[5] M.B. O'Neal and W.R. Edwards, “Complexity Measures for Rule-Based Programs,” IEEE Trans. Software Eng., vol. 6, no. 5, pp. 669-680, 1994.
[6] E. Hatzimanikatis, C.T. Tsalidis, and D. Christodoulakis, "Measuring the Readability and Maintainability of Hyperdocuments," J. Software Maintenance, Research and Practice, vol. 7, no. 2, 1995, pp. 77-90.
[7] J.D. Blaine and R.A. Kemmerer, “Complexity Measures for Assembly Language Programs,” J. Systems Software, vol. 5, pp. 229-245, 1985.
[8] S. Cha, I.S. Chung, and Y.R. Kwon, “Complexity Measures for Concurrent Programs Based on Information-Theoretic Metrics,” Information Processing Letters, vol. 46, pp. 43–50, 1993.
[9] S.M. Shatz, “Towards Complexity Metrics for Ada Tasking,” IEEE Trans. Software Eng., vol. 14, no. 8, pp. 1122-1127, 1988.
[10] ISO1989: ISO IS 9074, “Estelle—A Formal Description Technique Based on Extended State Transition Model,” Nov. 1989.
[11] S. Budkowski and P. Dembinski, “An Introduction to Estelle: A Specification Language for Distributed Systems,” Computer Networks and ISDN Systems, vol. 14, no. 1, pp. 3–23, 1987.
[12] IEEEStd1061-1992, “IEEE Standard for a Software Quality Metrics Methodology,” IEEE Computer Soc., Mar. 1993.
[13] ISO/IEC 10026-3, “Information Technology—Open Systems Interconnection—Distributed Transaction Precessing, Part 3: Protocol Specification,” 1992.
[14] J.M. Hops and J.S. Sherif, “Development and Application of Composite Complexity Models and a Relative Complexity Metric in a Software Maintenance Environment,” J. Systems and Software, vol. 31, pp. 157-169, 1995.
[15] M.M. Pickard and B.D. Carter, “A Field Study of the Relationship of Information Flow and Maintainability Of COBOL Programs,” Information and Software Technology, vol. 37, no. 4, pp. 195-202, 1995.
[16] D. Coleman, D. Ash, B. Lowther, and P. Oman, "Using Metrics to Evaluate Software System Maintainability," Computer, vol. 27, no. 8, pp. 44-49, Aug. 1994.
[17] R.D. Banker, S.M. Datar, C.F. Kemerer, and D. Zweig, "Software Complexity and Maintenance Costs," Comm. ACM, vol. 36, pp. 81-94, Nov. 1993.
[18] H.D. Rombach, “A Controlled Experiment on the Impact of Software Structure on Maintainability,” IEEE Trans. Software Eng., pp. 344-354, Mar. 1987.
[19] D. Kafura and G. Reddy, "The Use of Software Complexity Metrics in Software Maintenance," IEEE Trans. Software Eng., vol. 13, no. 3, pp. 335-343, Mar. 1987.
[20] T.J. McCabe, “A Complexity Measure,” IEEE Trans. Software Eng., vol. 2, no. 4, 1976.
[21] S. Henry and D. Kafura, “Software Metrics Based on Information Flow,” IEEE Trans. Software Eng., vol. 7, no. 5, pp. 510-518, 1981.
[22] S.D. Conte, H. E. Dunsmore, and V. Y. Shen, Software Engineering Metrics and Models, Benjamin/Cummings, Menlo Park, Calif., 1986.
[23] H.F. Li and W.K. Cheung, “An Empirical Study of Software Metrics,” IEEE Trans. Software Eng., vol. 13, no. 6, 1987.
[24] B.W. Boehm, J.R. Brown, H. Kaspar, M. Lipow, G.J. Macleao, and M.J. Merritt, Characteristics of Software Quality. North-Holland, 1987.
[25] J.L. Raffy, “Mastering Complexity at Design Level: Application to the Communication Protocols Specification,” Proc. Ann. Oregon Workshop Software Metrics (AOWSM), June 1995.
[26] S.J. Huang and R. Lai, “On Measuring the Complexity of an Estelle Specification” J. Systems and Software, vol. 40, no. 2, pp. 161–181, Feb. 1998.
[27] S.J. Huang and R. Lai, “Deriving Complexity Information from a Formal Communication Protocol Specification,” Software Practice and Experience, vol. 28, no. 14, pp. 1465-1491, Dec. 1998.
[28] S. Budkowski, “Estelle Development Toolset (EDT),” Computer Networks and ISDN Systems, vol. 25, no. 1, pp. 63–82, 1992.
[29] R. Sijelmassi and B. Strausser, “NIST Integrated Toolset for Estelle,” Formal Description Techniques III, North-Holland, 1991.
[30] R. Sijelmassi and B. Strausser, “The PET and DINDO Tools for Deriving Distributed Implementation from Estelle,” Computer Networks and ISDN Systems, vol. 25, no. 7, pp. 841-851, 1993.
[31] R. Sijelmassi and B. Strausser, “The Distributed Implementation Generator: An Overview and User Guide,” Technical Report NCSL/SNA—91/3, Nat'l Inst. of Standards and Technology, NIST, Gaitherburg, Md, Jan. 1991.
[32] S.R. Chidamber and C.F. Kemerer, "A Metrics Suite for Object Oriented Design," IEEE Trans. Software Eng., vol. 20, no. 6, pp. 476-493, 1994.
[33] N. Fenton and L. Pfleeger, Software Metrics–A Rigorous and Practical Approach, second ed. Boston, PWS-Publishing, 1997.

Index Terms:
Formal description techniques, Estelle, factor-subfactor-metric model, software maintainability, software metrics.
Citation:
Sun-Jen Huang, Richard Lai, "Measuring the Maintainability of a Communication Protocol Based on Its Formal Specification," IEEE Transactions on Software Engineering, vol. 29, no. 4, pp. 327-344, April 2003, doi:10.1109/TSE.2003.1191797
Usage of this product signifies your acceptance of the Terms of Use.