Skip to main content

Software Metrics for Similarity Determination of Complex Software Systems

  • Conference paper
  • First Online:
Engineering Software Systems: Research and Praxis (KKIO 2018)

Abstract

In the paper a methodology for similarity determination of complex software systems is proposed. The methodology introduce definition of software systems similarity metrics and ways to its determination, as well methods and tools for measuring similarity with complete environment. The essence of the proposed methodology is to divide of software of systems to disjoint groups on the base of proposed structural similarity metrics to significantly reduce of computational complexity of necessary comparisons of source code. Presented environment for similarity determination of software systems using .NET technology was utilized for preparing of opinions in legal proceedings for copyright violation.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 129.00
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 169.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    Object code is ignored.

  2. 2.

    This is a very important result for the method, because “artificial” multiplication of source files will be detected as a result of the functioning of the proposed method.

References

  1. Broder, A.Z.: On the resemblance and containment of documents. In: Proceedings of Compression and Complexity of Sequences, pp. 21–29 (1998)

    Google Scholar 

  2. Manber, U.: Finding similar files in a large file system. In: USENIX Winter 1994 Technical Conference, San Francisco, CA, USA, pp. 1–10 (1994)

    Google Scholar 

  3. Kemerer, C.F., Slaughter, S.: An empirical approach to studying software evolution. IEEE Trans. Softw. Eng. 25, 493–509 (1999)

    Article  Google Scholar 

  4. Yamamoto, T., Matsushita, M., Kamiya, T., Inoue, K.: Measuring similarity of large software systems based on source code correspondence. In: Proceedings of 6th International Conference, PROFES 2005, Oulu, Finland, 13–15 June 2005

    Google Scholar 

  5. Wise, M.J.: YAP3: improved detection of similarities in computer program and other texts. In: SIGCSEB: SIGCSE Bulletin (ACM Special Interest Group on Computer Science Education) 28 (1996)

    Google Scholar 

  6. Schleimer, S., Wilkerson, D., Aiken, A.: Winnowing: local algorithms for document fingerprinting. In: Proceedings of the ACM SIGMOD International Conference on Management of Data, pp. 76–85 (2003)

    Google Scholar 

  7. Kamiya, T., Kusumoto, S., Inoue, K.: CCFinder: a multilinguistic token-based code clone detection system for large scale source code. IEEE Trans. Softw. Eng. 28, 654–670 (2002)

    Article  Google Scholar 

  8. Levenshtein, V.I.: Binary codes capable of correcting deletions, insertions, and reversals. Sov. Phys. Dokl. 10(8), 707–710 (1966)

    MathSciNet  Google Scholar 

  9. Kan, S.H.: Metrics and Models in Software Quality Engineering. Addison-Wesley Longman Publishing, Boston (2002)

    MATH  Google Scholar 

  10. Preece, J., Rombach, H.D.: A taxonomy for combining software engineering and human-computer interaction measurement approaches: towards a common framework. Int. J. Hum.-Comput. Stud. 41(4), 553–583 (1994)

    Article  Google Scholar 

  11. Halstead, M.H.: Elements of Software Science. Elsevier, New York (1977)

    MATH  Google Scholar 

  12. Ottenstein, K.J.: An algorithmic approach to the detection and prevention of plagiarism. ACM SIGCSE Bull. 8, 30–41 (1976)

    Article  Google Scholar 

  13. Clements, P., Northrop, L.: Software Product Lines: Practices and Patterns. Addison Wesley, Boston (2001)

    Google Scholar 

  14. Donaldson, J.L., Lancaster, A.M., Sposato, P.H.: A plagiarism detection system. In: ACM SIGCSE Bulletin (12th SIGSCE Technical Symposium on Computer Science Education), vol. 13, pp. 21–25 (1981)

    Google Scholar 

  15. Grier, S.: A tool that detects plagiarism in pascal programs. In: ACM SIGCSE Bulletin (12th SIGSCE Technical Symposium on Computer Science Education), vol. 13, pp. 15–20 (1981)

    Google Scholar 

  16. Jankowitz, H.T.: Detecting plagiarism in student Pascal programs. Comput. J. 31, 1–8 (1988)

    Article  Google Scholar 

  17. Verco, K.L., Wise, M.J.: Software for detecting suspected plagiarism: comparing structure and attribute-counting systems. In: Rosenberg, J. (ed.) Proceedings of 1st Australian Conference on Computer Science Education, Sydney, Australia, pp. 86–95 (1996)

    Google Scholar 

  18. Gusfield, D.: Algorithms on Strings, Trees, and Sequences. Computer Science and Computational Biology. Cambridge University Press, Cambridge (1997)

    Book  Google Scholar 

  19. Whale, G.: Identification of program similarity in large populations. Comput. J. 33, 140–146 (1990)

    Article  Google Scholar 

  20. Koschke R.: Survey of research on software clones. In: Duplication, Redundancy, and Similarity in Software. Dagstuhl Seminar Proceedings, Germany (2007)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Andrzej Stasiak .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2019 Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Stasiak, A., Chudzikiewicz, J., ZieliƄski, Z. (2019). Software Metrics for Similarity Determination of Complex Software Systems. In: Kosiuczenko, P., ZieliƄski, Z. (eds) Engineering Software Systems: Research and Praxis. KKIO 2018. Advances in Intelligent Systems and Computing, vol 830. Springer, Cham. https://doi.org/10.1007/978-3-319-99617-2_12

Download citation

Publish with us

Policies and ethics