Skip to main content

Symbolic Hybrid Programming Tool for Software Understanding

  • Conference paper
Book cover Hybrid Artificial Intelligence Systems (HAIS 2008)

Part of the book series: Lecture Notes in Computer Science ((LNAI,volume 5271))

Included in the following conference series:

  • 1576 Accesses

Abstract

Research on source code understanding has attracted computer scientists for decades. It is known [12] that the code is the functional standard for each computer system. One can assume that most functional errors can automatically be captured from code. In this paper we describe a metatheory for software understanding, with pieces of domino as a metaphor. With the help of the tiles of the game, each of the stages of the data flow in software reverse engineering can be modeled. The last element in this hybrid construction is the maintainer, who plans modifications by using symbolic code information based on previous game movements. This process was evaluated for Java.

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 139.00
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 179.00
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

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. ADM, Architecture Driven Modernization. Object Management Group, http://adm.omg.org

  2. Binkley, D.: Source Code Analysis: A Road Map. In: Future of Software Engineering, ICSE 2007 (2007)

    Google Scholar 

  3. Chomsky, N.: Three models for the description of language. IEEE Transactions on Information Theory 2(3), 113–124 (1956)

    Article  Google Scholar 

  4. EBNF. Information technology - syntactic metalanguage - extended BNF, ISO/IEC 14977, International Organization for Standardization (2001)

    Google Scholar 

  5. Flanagan, D.: Java Examples in a Nutshell: Example 7-5 (Server.java), (referred August 10, 2007). O’Reilly, Sebastopol (2000), ftp://ftp.ora.com/examples/nutshell/java/examples

  6. Gosling, J., Joy, B., Steele, G., Bracha, G.: The Java Language Specification, 3rd edn. Addison-Wesley, Boston (2005)

    Google Scholar 

  7. Hopcroft, J.E., Ullman, J.D.: Introduction to Automata Theory, Languages and Computation. Addison-Wesley, Reading (1979)

    MATH  Google Scholar 

  8. Laitila, E.: Symbolic Analysis and Atomistic Model as a Basis for a Program Comprehension Methodology. PhD-thesis, Jyväskylä University (2008), http://dissertations.jyu.fi/studcomp/9789513932527.pdf

  9. Mak, R.: Writing Compilers and Interpreters, 2nd edn. John Wiley & Sons, Chichester (1996)

    Google Scholar 

  10. Müller, H.A., Jahnke, J.H., Smith, D.B., Storey, M.-A.D., Tilley, S.R., Wong, K.: Reverse engineering: a roadmap. In: ICSE 2000 (2000)

    Google Scholar 

  11. Pnueli, A.: The temporal logic of programs. In: Proceedings of the 18th Annual Symposium on the Foundations of Computer Science, New York, pp. 46–57 (1977)

    Google Scholar 

  12. Reeves, J. W.: Code as design: Three essays, Developer.* What Is Software Design? http://www.developerdotstar.com/mag/articles/reeves_design_main.html

  13. Rumbaugh, J., Jacobson, I., Booch, G.: The Unified Modeling Language Reference Manual. Addison-Wesley, Reading (1999)

    Google Scholar 

  14. Sneed, H.M.: Reverse engineering of test cases for selective regression testing. In: CSMR 2004, pp. 69–74. IEEE, Los Alamitos (2004)

    Google Scholar 

  15. Turing, A.: On Computable Numbers with an Application to the Entscheidungsproblem. Proc. London Math. Soc. 2(42), 230–265 (1936)

    Google Scholar 

  16. Vans, A.M., von Mayrhauser, A., Somlo, G.: Program understanding behavior during corrective maintenance of large-scale software. Human-Computer Studies 51, 31 (1999)

    Article  Google Scholar 

  17. Wilde, N., Huitt, R.: Maintenance Support for Object-Oriented Programs. IEEE Transactions on Software Engineering 1 SE-18, 1038–1044 (1992)

    Article  Google Scholar 

  18. VisualProlog. The Visual Prolog Development-tool, http://www.visual-prolog.org

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2008 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Laitila, E. (2008). Symbolic Hybrid Programming Tool for Software Understanding. In: Corchado, E., Abraham, A., Pedrycz, W. (eds) Hybrid Artificial Intelligence Systems. HAIS 2008. Lecture Notes in Computer Science(), vol 5271. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-87656-4_62

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-87656-4_62

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-87655-7

  • Online ISBN: 978-3-540-87656-4

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics