This Article 
 Bibliographic References 
 Add to: 
Defining and Applying Measures of Distance Between Specifications
August 2001 (vol. 27 no. 8)
pp. 673-703

Abstract—Echoing Louis Pasteur's quote,1 we submit the premise that it is advantageous to define measures of distance between requirements specifications because such measures open up a wide range of possibilities both in theory and in practice. In this paper, we present a mathematical basis for measuring distances between specifications and show how our measures of distance can be used to address concrete problems that arise in the practice of software engineering.

[1] C.M. Abts, “COTS Software Integration Cost Modeling Study,” technical report, Univ. of Southern California, June 1997.
[2] H. Ammari and A. Mili, “Lattice Based Distances,” Proc. Fifth Int'l Seminar on Relational Methods in Computer Science, J. Desharnais, ed., pp. 1–10, Jan. 2000.
[3] V. Basili, S. Gordon, K.E. Emam, R.B. Hendrick, and W. Melo, “Characterizing and Modelling the Cost of Rework in a Library of Reusable Software Components,” Proc. 19th Int'l Conf. Software Eng., pp. 282–291, May 1997.
[4] B. Boehm, Software Engineering Economics, Prentice Hall, Upper Saddle River, N.J., 1981, pp. 533-535.
[5] B.W. Boehm, B. Clark, E. Horowitz, C. Westland, R. Madachy, and R. Selby, “Cost Models for Future Software Lifecycle Processes: COCOMO 2.0,” Annals of Software Eng., vol. 1, pp. 57–94, Sept. 1995.
[6] D. Boland, R. Coon, K. Byers, and D. Levitt, “Calibration of a COTS Integration Cost Model Using Local Project Data,” Proc. 22nd Ann. Software Eng. Workshop, Dec. 1997.
[7] N. Boudriga, F. Elloumi, and A. Mili, “The Lattice of Specifications: Applications to a Specification Methodology,” Formal Aspects of Computing, vol. 4, pp. 544–571, 1992.
[8] C. Brink, W. Kahl, and G. Schmidt, eds., Relational Methods in Computer Science. Springer-Verlag, 1997.
[9] A.W. Brown, P.H. Feiler, and C.K. Wallnau, “Understanding Integration in a Software Development Environment,” Technical Report CMU/SEI-91-TR-31, ESD-91-TR-31, Software Development Environments Project, Carnegie Mellon Univ., Jan. 1992.
[10] D.J. Carney and K.C. Wallnau, “A Basis for Evaluation of Commercial Software,” technical report, Software Eng. Inst., Carnegie Mellon Univ., Pittsburgh, Penn., 1998.
[11] P. Constantopoulos, M. Doerr, and Y. Vassiliou, “Repositories for Software Reuse: the Software Information Base,” Information System Development Process, in N. Prakash C. Rolland, B. Pernici, eds., North‐Holland, Amsterdam, 1993, pp. 285‐310
[12] B.A. Davey and H.A. Priestley, Introduction to Lattices and Order, Cambridge Univ. Press, 1990.
[13] J. Desharnais, A. Jaoua, F. Mili, N. Boudriga, and A. Mili, “A Relational Division Operator: The Conjugate Kernel,“ Theoretical Computer Science, vol. 114, pp. 247–272, 1993.
[14] J. Desharnais, N. Belkhiter, S. Ben Mohamed Sghaier, F. Tchier, A. Jaoua, A. Mili, and N. Zaguia, "Embedding a Demonic Semilattice in a Relation Algebra," Theoretical Computer Science, vol. 149, no. 2, pp. 333-360, Oct. 1995.
[15] P. Devanbu et al., “LaSSIE: A Knowledge‐Based Software Information System,” Comm. ACM, May 1991, pp. 34‐49.
[16] E.W. Dijkstra, A Discipline of Programming.Englewood Cliffs, N.J.: Prentice Hall, 1976.
[17] T. Ellis, “COTS Integration in Software Solutions,” Systems Eng. in the Global Marketplace, July 1995.
[18] J. Desharnais, N. Belkhiter, S. Ben Mohamed Sghaier, F. Tchier, A. Jaoua, A. Mili, and N. Zaguia, "Embedding a Demonic Semilattice in a Relation Algebra," Theoretical Computer Science, vol. 149, no. 2, pp. 333-360, Oct. 1995.
[19] S. Faustle, M.G. Fugini, and E. Damiani, “Retrieval of Reusable Components Using Functional Similarity,” Software Practice and Experience, vol. 26, no. 5, pp. 491–530, May 1996.
[20] P. Fiore, F. Lanubile, and G. Visaggio, “Effort Estimation for Program Comprehension,” Proc. Fourth Workshop Program Comprehension, pp. 78–87, Mar. 1996.
[21] B. Fischer and J.N. Whittle, “An Integration of Deductive Retrieval into Deductive Synthesis,” Proc. 14th IEEE Int'l Conf. Automated Software Eng., Oct. 1999.
[22] G. Fox, K. Lantner, and S. Marcom, “A Software Development Process for COTS-Based Information System Infrastructure,” Proc. 22nd Ann. Software Eng. Workshop, Dec. 1997.
[23] W.M. Gentleman, “Effective Use of COTS (Commercial-Off-the-Shelf) Software Components in Long Lived Systems,” Proc. Int'l Conf. Software Eng., May 1997.
[24] M.R. Girardi, “Classification and Retrieval of Software through Their Description in Natural Language,” Technical Report 2782, Univ. of Geneva, Dec. 1995
[25] R. Girardi and B. Ibrahim, “Automatic Indexing of Software Artifacts,” Proc. Third Int'l Conf. Software Reuse, W.B. Frakes, ed., pp. 24–32, Nov. 1994.
[26] R. Girardi and B. Ibrahim, “A Similarity Measure for Retrieving Software Artifacts,” Proc. Sixth Int'l Conf. Software Eng. and Knowledge Eng., W. Berztiss, ed., pp. 89–100, June 1994.
[27] D. Gries, The Science of Programming.New York, Heidelberg, Berlin: Springer-Verlag, 1981.
[28] C.A.R. Hoare et al., “Laws of Programming,” Comm. the ACM, vol. 30, no. 8, pp. 672–686, 1987.
[29] Ithaca, “Integrated Toolkit for Highly Advanced Computer Applications,” Technical Report 2705, EEC-Esprit II Project, Dec. 1993.
[30] L.L. Jilani, “Preuves Automatiques de Théorèmes Relationnels: Axiomatisations et Applications,” technical report, Univ. of Tunis, Belvedere, Tunis, Tunisia, Dec. 1998.
[31] L.L. Jilani, J. Desharnais, and A. Mili, “Defining and Applying Measures of Distance between Specifications,” technical report, Institut Superieur de Gestion, Tunisia, May 2000.
[32] M. Jørgensen, “Experience with the Accuracy of Software Maintenance Task Effort Prediction Models,” IEEE Trans. Software Eng., vol. 21, no. 8, pp. 674–681, Aug. 1995.
[33] C. Kemerer, "An Empirical Validation of Software Cost Estimation Models," Comm. ACM, vol. 30, pp. 416-429, May 1987.
[34] J. Kontio and R. Tesoriero, “A COTS Selection Method and Experiences of Its Use,” Proc. 20th Ann. Software Eng. Workshop, Nov. 1995.
[35] M. Koubarakis, “TELOS: Features and Formalization,” Technical Report KRR-TR-89-1, Univ. of Toronto, Toronto, Ca., 1989.
[36] Software Engineering Laboratory, “Sel Package Based System Development Process,” technical report, Univ. of Maryland, NASA GSFC, CSC, Greebelt, Md., Feb. 1996.
[37] C.L. Liu, Elements of Discrete Mathematics, New York: McGraw Hill, 1977.
[38] A.V. Mayrhauser and A. Vans, “On the Role of Hypotheses During Opportunistic Understanding while Porting Large Scale Code,” Proc. Fourth Workshop Program Comprehension., pp. 68–77, Mar. 1996.
[39] A. Mili, H. Ammari, and M. Winikoff, “Requirements Specifications: A Relational Approach,” technical report, Inst. for Software Research, Fairmont, W.Va., Aug. 1999.
[40] R. Mili, R. Mittermeir, and A. Mili, "Storing and Retrieving Software Component: A Refinement Based Approach," Proc. Int'l Conf. Software Eng., 1994.
[41] A. Mili, R. Mili, and R. Mittermeir, “A Survey of Software Reuse Libraries,” Ann. of Software Eng., 1998.
[42] R. Mili, J. Desharnais, M. Frappier, and A. Mili, “Measures of Syntactic and Semantic Distance between Specifications,” technical report, Univ. of Texas at Dallas, Aug. 1996.
[43] R. Mili, A. Mili, and R. Mittermeir, “Storing and Retrieving Software Components: A Refinement Based System,” IEEE Trans. Software Eng., vol. 23, no. 7, pp. 445–460, July 1997.
[44] C.C. Morgan, Programming from Specifications, second edition. Englewood Cliffs, N.J.: Prentice Hall, 1994.
[45] E. Ostertag, J. Hendler, R. Prieto-Diaz, and C. Braun, "Computing Similarity in a Reuse Library System: An ai-Based Approach," acm TOSEM, vol. 1, no. 3, pp. 205-228, July 1992.
[46] A. Parra, V. Basili, S. Burke, S. Condon, S. Kraft, C. Seaman, and D. Yakimovitch, “The Package Based Development Process in the FDD,” Proc. 22nd Ann. Software Eng. Workshop, Dec. 1997.
[47] J. Penix and P. Alexander, “Design Representation for Automating Software Component Reuse,” Proc. Fifth Int'l Workshop Knowledge Based Systems for the (Re)Use of Software Libraries, Nov. 1995.
[48] J. Penix and P. Alexander, “Efficient Specification Based Component Retrieval,” technical report, Univ. of Cincinnati, Knowledge Based Software Eng. Laboratory, ECECS, July 1996.
[49] R. Prieto-Diaz, "Classification of Reusable Modules," Software Reusability, Vol. 1: Concepts and Models," T.J. Bigerstaff and A.J. Perlis, eds. New York: ACM Press, 1989.
[50] E. Sekerinski, “A Calculus for Predicative Programming,” Mathematics of Program Construction: Second Int'l Conf., R.S. Bird, C.C. Morgan, and J.C.P. Woodcock, eds., 1992.
[51] D.R. Skuce and A. Mili, “Behavioral Specifications in Object-Oriented Programming,” J. Object-Oriented Programming, pp. 41–49, Jan. 1995.
[52] H. Sneed, “Economics of Software Reengineering,” J. Software Maintenance: Research and Practice, vol. 3, no. 3, Sept. 1991.
[53] G. Spanoudakis and P. Constantopoulos, “Similarity for Analogical Software Reuse: A Conceptual Modelling Approach,” Proc. CAiSE '93, June 1993.
[54] G. Spanoudakis and P. Constantopoulos, “Measuring Similarity between Software Artifacts,” Int'l Conf. Software Eng. and Knowledge Eng., W. Berztiss, ed., June 1994.
[55] R. Stutzke, “Cost Impacts of COTS Volatility,” Workshop COCOMO 2.0, May 1995.
[56] M.R. Vidger and J. Dean, “An Architectural Approach to Building Systems from COTS Software Components,” Proc. 22nd Ann. Software Eng. Workshop, Dec. 1997.
[57] M.R. Vidger, W.M. Gentleman, and J. Dean, “COTS Software Integration: State of the Art,” Technical Report 39198, Nat'l Research Council of Canada, Jan. 1996.
[58] C.K. Wallnau and P.H. Feiler, “Tool Integration and Environment Architectures,” Technical Report CMU/SEI-91-TR-11, ESD-91-TR-11, Software Development Environments Project, Carnegie Mellon Univ., May 1991.
[59] M. Wood and I. Sommerville, “An Information System for Software Components,” SIGIR Forum, vol. 22, no. 3, pp. 11–25, Summer 1988
[60] L. Wos, R. Overbeek, E. Lusk, and J. Boyle, Automated Reasoning: Introduction and Applications.New York: McGraw-Hill, 1992.
[61] A.M. Zaremski and J.M. Wing, ”Signature Matching: A Tool for Using Software Libraries,” ACM Trans. Software Eng. and Methodology, vol. 4, no. 2, pp. 146–170, Apr. 1995.

Index Terms:
Formal specifications, relations, relational specifications, lattices, software libraries, COTS integration, software adaptation, distance metrics.
Lamia Labed Jilani, Jules Desharnais, Ali Mili, "Defining and Applying Measures of Distance Between Specifications," IEEE Transactions on Software Engineering, vol. 27, no. 8, pp. 673-703, Aug. 2001, doi:10.1109/32.940565
Usage of this product signifies your acceptance of the Terms of Use.