Advertisement

A Technology for Optimizing the Process of Maintaining Software Up-to-Date

  • Andrei PanuEmail author
Conference paper
Part of the Communications in Computer and Information Science book series (CCIS, volume 868)

Abstract

In this paper we propose a solution for reducing the time needed to make changes in an application in order to support a new version of a software dependency (e.g., library, interpreter). When such an update is available, we do not know if it comes with some changes that can break the execution of the application. This issue is very serious in the case of interpreted languages, because errors appear at runtime. System administrators and software developers are directly affected by this problem. Usually the administrators do not know many details about the applications hosted on their infrastructure, except the necessary execution environment. Thus, when an update is available for a library packaged separately or for an interpreter, they do not know if the applications will run on the new version, being very hard for them to take the decision to do the update. The developers of the application must make an assessment and support the new version, but these tasks are time consuming. Our approach automates this assessment by analyzing the source code and verifying if and how the changes in the new version affect the application. By having such kind of information obtained automatically, it is easier for system administrators to take a decision regarding the update and it is faster for developers to find out which is the impact of the new version.

Keywords

Information extraction Named entity recognition Machine learning Web mining Software maintenance 

References

  1. 1.
    Ahmed, H., Elgamal, A., Elshishiny, H., Ibrahim, M.: Verification of backward compatibility of software components. US Patent 9,424,025 (2016)Google Scholar
  2. 2.
    Alboaie, S., Alboaie, L., Panu, A.: Levels of privacy for ehealth systems in the cloud era. In: Proceedings of the 24th International Conference on Information Systems Development, pp. 243–252 (2015)Google Scholar
  3. 3.
    Alfonseca, E., Manandhar, S.: An unsupervised method for general named entity recognition and automated concept discovery. In: Proceedings of the 1st International Conference on General WordNet (2002)Google Scholar
  4. 4.
    Atoum, I., Otoom, A., Kulathuramaiyer, N.: A comprehensive comparative study of word and sentence similarity measures. Int. J. Comput. Appl. 135(1), 10–17 (2016)Google Scholar
  5. 5.
    Bird, S., Klein, E., Loper, E.: Natural Language Processing with Python: Analyzing Text with the Natural Language Toolkit. O’Reilly Media Inc., Newton (2017). http://www.nltk.org/book/zbMATHGoogle Scholar
  6. 6.
    Charton, E., Gagnon, M., Ozell, B.: Automatic semantic web annotation of named entities. In: Butz, C., Lingras, P. (eds.) AI 2011. LNCS (LNAI), vol. 6657, pp. 74–85. Springer, Heidelberg (2011).  https://doi.org/10.1007/978-3-642-21043-3_10CrossRefGoogle Scholar
  7. 7.
    Cortical.io: Similarity Explorer (2017). http://www.cortical.io/similarity-explorer.html
  8. 8.
    Crockett, K., McLean, D., O’Shea, J.D., Bandar, Z.A., Li, Y.: Sentence similarity based on semantic nets and corpus statistics. IEEE Trans. Knowl. Data Eng. 18(8), 1138–1150 (2006)CrossRefGoogle Scholar
  9. 9.
    Dao, T.N., Simpson, T.: Measuring similarity between sentences. WordNet.Net, Technical report (2005)Google Scholar
  10. 10.
    DeWilde, B.: Textacy NLP library (2017). http://textacy.readthedocs.io/en/latest/
  11. 11.
    Dickey, T.E.: Lynx Text Web Browser (2017). http://lynx.browser.org/
  12. 12.
    DKPro: DKPro Similarity Framework (2017). https://dkpro.github.io/dkpro-similarity/
  13. 13.
    Erk, K.: Vector space models of word meaning and phrase meaning: a survey. Lang. Linguist. Compass 6(10), 635–653 (2012)CrossRefGoogle Scholar
  14. 14.
    Evans, R.: A framework for named entity recognition in the open domain. In: Recent Advances in Natural Language Processing III: Selected Papers from RANLP, vol. 260, pp. 267–274, 110 (2003)CrossRefGoogle Scholar
  15. 15.
    ExplosionAI: Spacy NLP library (2017). https://spacy.io/
  16. 16.
    Ferretti, E.: Privacy by design and privacy by default (2015). http://europrivacy.info/2015/06/09/privacydesign-privacy-default/
  17. 17.
    Godden, W: PHPCompatibility (2017). https://github.com/wimg/PHPCompatibility
  18. 18.
    He, H., Gimpel, K., Lin, J.: Multi-perspective sentence similarity modeling with convolutional neural networks. In: Proceedings of the 2015 Conference on Empirical Methods in Natural Language Processing, pp. 1576–1586 (2015)Google Scholar
  19. 19.
  20. 20.
    Laclavik, M., Seleng, M., Ciglan, M., Hluch, L.: Ontea: platform for pattern based automated semantic annotation. Comput. Inform. 28(4), 555–579 (2012)Google Scholar
  21. 21.
    Lando, P., Lapujade, A., Kassel, G., Furst, F.: Towards a general ontology of computer programs. In: Proceedings of the International Conference on Software and Data Technologies, pp. 163–170 (2007)Google Scholar
  22. 22.
    Laravel: Manual page (2017). https://laravel.com/docs/5.4/helpers
  23. 23.
    Linguatools: DISCO (2017). http://www.linguatools.de/disco/
  24. 24.
    Liu, H., Wang, P.: Assessing sentence similarity using wordnet based word similarity. JSW 8(6), 1451–1458 (2013)Google Scholar
  25. 25.
    lxml: lxml XML toolkit (2017). http://lxml.de/
  26. 26.
    Miura, N., Takagi, T.: WSL: sentence similarity using semantic distance between words. In: Proceedings of the 9th International Workshop on Semantic Evaluation (SemEval 2015), Denver, Colorado, pp. 128–131. Association for Computational Linguistics (2015)Google Scholar
  27. 27.
    Nadeau, D., Sekine, S.: A survey of named entity recognition and classification. Lingvisticae Investigationes 30(1), 3–26 (2007)CrossRefGoogle Scholar
  28. 28.
    NLTK: Natural Language Toolkit (2017). http://www.nltk.org/
  29. 29.
    Node.js: Manual page (2017). https://nodejs.org/api/util.html
  30. 30.
    Noy, N.F., McGuinness, D.L., et al.: Ontology development 101: a guide to creating your first ontology (2001)Google Scholar
  31. 31.
    Oberle, D., Grimm, S., Staab, S.: An ontology for software. In: Staab, S., Studer, R. (eds.) Handbook on Ontologies. IHIS, pp. 383–402. Springer, Heidelberg (2009).  https://doi.org/10.1007/978-3-540-92673-3_17CrossRefGoogle Scholar
  32. 32.
    Panu, A.: Automation technology for software maintenance and system administration. Ph.D. thesis. Alexandru Ioan Cuza University of Iasi (2017)Google Scholar
  33. 33.
    Panu, A.: A novel method for improving productivity in software administration and maintenance. In: Proceedings of the 12th International Conference on Software Technologies (ICSOFT 2017), Spain, 24–26 July 2017, pp. 220–229 (2017)Google Scholar
  34. 34.
    Pearson, S.: Taking account of privacy when designing cloud computing services. In: Proceedings of the 2009 ICSE Workshop on Software Engineering Challenges of Cloud Computing, pp. 44–52. IEEE Computer Society (2009)Google Scholar
  35. 35.
  36. 36.
    PHP: Past Releases (2017). https://secure.php.net/releases/
  37. 37.
    PHP: Supported Versions (2017). http://php.net/supported-versions.php
  38. 38.
  39. 39.
  40. 40.
    PHPMD (2017). https://phpmd.org/
  41. 41.
  42. 42.
    Pilehvar, M.T., Jurgens, D., Navigli, R.: Align, disambiguate and walk: a unified approach for measuring semantic similarity. In: Proceedings of the 51st Annual Meeting of the Association for Computational Linguistics, pp. 1341–1351. ACL (2013)Google Scholar
  43. 43.
    Ponomarenko, A., Rubanov, V.: Backward compatibility of software interfaces: steps towards automatic verification. Program. Comput. Softw. 38(5), 257–267 (2012)CrossRefGoogle Scholar
  44. 44.
  45. 45.
  46. 46.
    RDFLib: RDFLib RDF library (2017). https://rdflib.readthedocs.io/en/stable/
  47. 47.
    Reeve, L., Han, H.: Survey of semantic annotation platforms. In: Proceedings of the 2005 ACM Symposium on Applied Computing, SAC 2005, pp. 1634–1638. ACM, New York (2005)Google Scholar
  48. 48.
  49. 49.
  50. 50.
    Sanborn, A., Skryzalin, J.: Deep learning for semantic similarity. In: CS224d: Deep Learning for Natural Language Processing, Stanford, CA, USA. Stanford University (2015)Google Scholar
  51. 51.
    Sanchez, D., Isern, D., Millan, M.: Content annotation for the semantic web: an automatic web based approach. Knowl. Inf. Syst. 27(3), 393–418 (2011)CrossRefGoogle Scholar
  52. 52.
    Sekine, S., Nobata, C.: Deffinition, dictionaries and tagger for extended named entity hierarchy. In: Proceedings of the Fourth International Conference on Language Resources and Evaluation, LREC 2004, 26–28 May 2004, Lisbon, Portugal (2004)Google Scholar
  53. 53.
    SEMILAR: A Semantic Similarity Toolkit (2017). http://deeptutor2.memphis.edu/Semilar-Web/public/contact.html
  54. 54.
    Sherwood, G.: PHP CodeSniffer (2017). http://pear.php.net/package/PHPCodeSniffer/
  55. 55.
    Tsantilis, E.: Method and system to monitor software interface updates and assess backward compatibility. US Patent 7,600,219 (2009)Google Scholar
  56. 56.
    Uren, V., Cimiano, P., Iria, J., Handschuh, S., Vargas-Vera, M., Motta, E., Ciravegna, F.: Semantic annotation for knowledge management: requirements and a survey of the state of the art. Web Semant. 4(1), 14–28 (2006)CrossRefGoogle Scholar
  57. 57.
    wp-deprecated-checker (2017). https://gist.github.com/jbuchbinder/7419000
  58. 58.
    W3Techs - World Wide Web Technology Surveys (2017). https://w3techs.com/
  59. 59.
    W3Techs: Usage statistics and market share of PHP for websites (2017). https://w3techs.com/technologies/details/pl-php/all/all
  60. 60.
    W3Techs: Usage statistics and market share of PHP version 5 for websites (2017). https://w3techs.com/technologies/details/pl-php/5/all
  61. 61.
    Welsch, Y., Poetzsch-Heffter, A.: Verifying backwards compatibility of object-oriented libraries using Boogie. In: Proceedings of the 14th Workshop on Formal Techniques for Java-Like Programs, FTfJP 2012, pp. 35–41. ACM (2012)Google Scholar
  62. 62.
    Wursch, M., Ghezzi, G., Hert, M., Reif, G., Gall, H.C.: SEON: a pyramid of ontologies for software evolution and its applications. Computing 94(11), 857–885 (2012)CrossRefGoogle Scholar
  63. 63.

Copyright information

© Springer International Publishing AG, part of Springer Nature 2018

Authors and Affiliations

  1. 1.Faculty of Computer ScienceAlexandru Ioan Cuza University of IasiIasiRomania

Personalised recommendations