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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
ADM, Architecture Driven Modernization. Object Management Group, http://adm.omg.org
Binkley, D.: Source Code Analysis: A Road Map. In: Future of Software Engineering, ICSE 2007 (2007)
Chomsky, N.: Three models for the description of language. IEEE Transactions on Information Theory 2(3), 113–124 (1956)
EBNF. Information technology - syntactic metalanguage - extended BNF, ISO/IEC 14977, International Organization for Standardization (2001)
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
Gosling, J., Joy, B., Steele, G., Bracha, G.: The Java Language Specification, 3rd edn. Addison-Wesley, Boston (2005)
Hopcroft, J.E., Ullman, J.D.: Introduction to Automata Theory, Languages and Computation. Addison-Wesley, Reading (1979)
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
Mak, R.: Writing Compilers and Interpreters, 2nd edn. John Wiley & Sons, Chichester (1996)
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)
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)
Reeves, J. W.: Code as design: Three essays, Developer.* What Is Software Design? http://www.developerdotstar.com/mag/articles/reeves_design_main.html
Rumbaugh, J., Jacobson, I., Booch, G.: The Unified Modeling Language Reference Manual. Addison-Wesley, Reading (1999)
Sneed, H.M.: Reverse engineering of test cases for selective regression testing. In: CSMR 2004, pp. 69–74. IEEE, Los Alamitos (2004)
Turing, A.: On Computable Numbers with an Application to the Entscheidungsproblem. Proc. London Math. Soc. 2(42), 230–265 (1936)
Vans, A.M., von Mayrhauser, A., Somlo, G.: Program understanding behavior during corrective maintenance of large-scale software. Human-Computer Studies 51, 31 (1999)
Wilde, N., Huitt, R.: Maintenance Support for Object-Oriented Programs. IEEE Transactions on Software Engineering 1 SE-18, 1038–1044 (1992)
VisualProlog. The Visual Prolog Development-tool, http://www.visual-prolog.org
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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)