You are currently browsing the category archive for the ‘Hello message’ category.

In the philosophy of science, instrumentalism is the view that a concept or theory should be evaluated by how effectively it explains and predicts phenomena, as opposed to how accurately it describes objective reality. It is a rigorous scientific method. typical for fundamental science.

Symbolic analysis (SAM) is an ideal approach to be connected with the instrumentalist purpose. The purpose of SAM is to maximize expressice power of symbols captured from source code in order to model behavior of the corresponding program, the phenomena which model the execution of each symbol to be presented as observations.

The only reductionist concept in this framework is the one of symbol (see yellow label in Fig). For different types of symbols behavioral theories are entered using the automaton formalism. For certain arguments of each linked input symbol each symbol creates a theory, which can be proved in a higher level logic. That approach has connections of how to validate and verify parts of the program.

The figure shows the inheritance paths for the main concepts as well as data paths between concepts.

Summary

This blog post concludes the set of 100 stories in this blog.

We are planning a book to illustrate these features more user-friendly.

If anyone has questions or feedback to the author please send me an emain erkki.laitila at swmaster.fi.

Best regards

Erkki Laitila

Symbolic Analysis: From Theory to Practice

Hello, reader!

During a long period working  as a software engineer I have found that the amount of complex cognitive tasks is rapidly increasing in our society. Software is becoming public, which opens new challenging possibilities for active persons to use other programmers’s work. Futhermore, our society is becoming more and more dependant of information systems, which makes our life more risky and uncertain.

Mission: Unified Theory and Framework for Mastering Symbols

Atomistic Information Model for Cognitive Tasks

During my study (2004-2008) I found that it is possible to create an objec-oriented hybrid software construction, which allows presenting symbols as they are in our mind. For me it was a nice discovery – perhaps for you, too! Because of this nice over-simple architecture it is possible to make sophisticated models, which formulate mathematical expressions, source code, traffic, theorem provers and any implementations which have a formal base.

Executable Model, which Helps in Understanding the Information

The information model is not enough. Due to the virtues of  the formal model, it is possible to execute / simulate / traverse the model in a way that resembles our thinking.  We illustrate all possible thinking strategies for any symbol (like a car, computer or a SocketServer object in our software) as an automaton. The contents of the automaton is different for different purposes like data-analysis, control-flow analysis etc.

Unfortunately, we cannot remove the Chinese room argument or symbol grounding problem, but our executable model helps the user in synchronizing with tool activities in order to understand those relations that are formal and explicit.  Referring to programming language models  it is possible for the user the select from possible alternative ambiguous situations those branches and contexts that are most relevant for him/her.

The Practice:  Problem Isolation and Bug Detection

We introduce a unique problemsolving framework for symbolic analysis as a practical application. It contains the most useful source code analysis methods in order to help the user in navigating software and its features in hunting bugs in the code. The user interface is query based, but the tool allows the user to follow on every detail in the simulation (understanding) process – an extreme high-granularity, which cannot be provided by static and dynamic analyses.

You are wellcome to read more from other topics of this blog. The information is categorized using technology spaces.

Erkki Laitila, PhD, SwMaster Ltd

erkki.laitila at swmaster.fi

The technology spaces below has their origin from the dissertation: Symbolic Analysis and Atomistic Model as a Basis for a Program Comprehensiuon Methodology (see https://jyx.jyu.fi/dspace/bitstream/handle/123456789/18555/9789513932527.pdf?sequence=1).

Essential technology spaces

Essential technology spaces

That idea has been developed furthermore in the book: Symbolic Analysis as a Basis for Program Comprehension. In this blog we introduce the main technology spaces and their relations to the core of computer science. This item is important, because the created formalism of symbolic analysis characterizes many essential phases of software development.

We see symbols everywhere. Symbols are meaningful signs that represent something else.  See Symbol from Wiki.

All language consists of symbols. The original idea of my dissertation (2004-2008) was to illustrate problems of source code understanding. In this blog we can extend the scope to cover the area of the title to be more generic.

Symbol is a category of Sign in Peircean taxonomy.

I suggest that symbolic analysis is every attempt to understand relations between symbols. There are multiple ways to do that: interpretations and others. Let’s discuss them further in this blog.

Erkki Laitila, PhD (2008) computer engineer (1977)