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