Advertisement

Building a tool for software code analysis a machine learning approach

  • Gilles Fouqué
  • Christel Vrain
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 593)

Abstract

This article presents the application of a machine learning technique to a software code analysis tool. This tool builds a base of elementary and relevant program structures, acquired from the analysis of a primitive set of programs of good programming style. These program structures are compared to new programs to determine the quality of the latter. In this paper we stress the framework of the tool and discuss the critical details of its modules.

The learning technique has been developed to use intensively a specific knowledge base in order to acquire the base of relevant program structures. We present problems that arise due to the necessity of using knowledge which is non-monotonic in nature.

Particular issues will be highlighted by the analysis of requests written in the SQL language.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Bailin, S.C. & Gattis, R.H. & Truszkowski, W. 1991. A learning software engineering environment. 6th knowledge-based software engineering conference. pp 251–263.Google Scholar
  2. 2.
    Dershowitz, N. 1986. Programming by analogy. Machine learning 2: an artificial intelligence approach. Michalski R.S., Carbonel J.G., Mitchell T.M., Morgan Kaufmann eds, pp 395–423.Google Scholar
  3. 3.
    Geldrez, C. & Matwin, S. & Morin, J. & Probert, R.L. 1990. An application of EBL to protocol conformance testing. IEEE Expert. October 1990. pp 45–60.Google Scholar
  4. 4.
    Halstead, M. 1978. Elements of software engineering. Elsevier eds. Google Scholar
  5. 5.
    Harandi, M.T. & Lee, H. 1991. Acquiring software design schemas: a machine learning perspective. 6th knowledge-based software engineering conference, pp 239–250.Google Scholar
  6. 6.
    Kodratoff, Y. & Ganascia, J.G. 1986. Improving the generalization step in learning. Machine learning 2: an artificial intelligence approach. Michalski R.S., Carbonel J.G., Mitchell T.M., Morgan Kaufmann eds, pp 215–244.Google Scholar
  7. 7.
    Laurent, J.P. & Fouet, J.M. 1982. Outillage de manipulation de programmes fondé sur une représentation arborescente. Premier colloque de génie logiciel. pp 105–118.Google Scholar
  8. 8.
    Maarek, Y.S. & Berry, D.M. & Kaiser, G.E. 1991. An Information Retrieval Approach For Automatically Constructing Software Libraries. IEEE Transactions on Software Engineering. Vol 17, N 8. pp 800–813.Google Scholar
  9. 9.
    Michalski, R.S. 1983. A theory and methodology of inductive learning. Machine learning 1: an artificial intelligence approach. Michalski R.S., Carbonel J.G., Mitchell T.M., Morgan Kaufmann eds, pp 1–19.Google Scholar
  10. 10.
    Ning, J. & Harandi, M.J. 1989. An experiment in automatic program analysis. Proc AAAI symp artificial intelligence and software engineering. AAAI Press eds. pp 51–55.Google Scholar
  11. 11.
    Prieto-Diaz, R. 1991. Implementing Faceted Classification for Software Reuse. Communication of the ACM. Vol 34, N 5. pp 88–97.Google Scholar
  12. 12.
    Saporta, G. 1990. Probabilités, analyse des données et statistiques. Editions technip.Google Scholar
  13. 13.
    Utgoff, P.E. 1986. Shift of bias of inductive concept learning. Machine learning 2: an artificial intelligence approach. Michalski R.S., Carbonel J.G., Mitchell T.M., Morgan Kaufmann eds, pp 107–148.Google Scholar
  14. 14.
    Vrain, C. 1990. OGUST: a system that learns using domain properties expressed as theorems. Machine learning 3, an artificial intelligence approach. Kodratoff, Y. & Michalski, R.S. Morgan Kaufmann eds. pp 360–382.Google Scholar
  15. 15.
    Webb, J. 1988. Static analysis: an introduction and example. Journées Internationales: le génie logiciel et ses applications. pp 523–539.Google Scholar
  16. 16.
    Wills, L.M. 1990. Automated program recognition: a feasibility demonstration. Artificial intelligence N∘45. pp 113–171.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1992

Authors and Affiliations

  • Gilles Fouqué
    • 1
  • Christel Vrain
    • 2
  1. 1.B 004 EDF-DERClamart Cedex
  2. 2.LIFO Université d'Orléans Rue de ChartresOrleans Cedex

Personalised recommendations