This Article 
   
 Share 
   
 Bibliographic References 
   
 Add to: 
 
Digg
Furl
Spurl
Blink
Simpy
Google
Del.icio.us
Y!MyWeb
 
 Search 
   
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.
Citation:
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.