liu.seSearch for publications in DiVA
Change search
ReferencesLink to record
Permanent link

Direct link
Debugging and Structural Analysis of Declarative Equation-Based Languages
Linköping University, Department of Computer and Information Science, PELAB - Programming Environment Laboratory. Linköping University, The Institute of Technology.
2002 (English)Licentiate thesis, monograph (Other academic)
Abstract [en]

A significant part of the software development effort is spent on detecting deviations between software implementations and specifications, and subsequently locating the sources of such errors. This thesis illustrates that is possible to identify a significant number of errors during static analysis of declarative object-oriented equation-based modeling languages that are typically used for system modeling and simulation. Detecting anomalies in the source code without actually solving the underlying system of equations provides a significant advantage: a modeling error can be corrected before trying to get the model compiled or embarking on a computationally expensive symbolic or numerical solution process. The overall objective of this work is to demonstrate that debugging based on static analysis techniques can considerably improve the error location and error correcting process when modeling with equation-based languages.

A new method is proposed for debugging of over- and under-constrained systems of equations. The improved approach described in this thesis is to perform the debugging process on the flattened intermediate form of the source code and to use filtering criteria generated from program annotations and from the translation rules. Each time when an error is detected in the intermediate code and the error fixing solution is elaborated, the debugger queries for the original source code before presenting any information to the user. In this way, the user is exposed to the original language source code and not burdened with additional information from the translation process or required to inspect the intermediate code.

We present the design and implementation of debugging kernel prototypes, tightly integrated with the core of the optimizer module of a Modelica compiler, including details of the novel framework required for automatic debugging of equation-based languages.

This thesis establishes that structural static analysis performed on the underlying system of equations from object-oriented mathematical models can effectively be used to statically debug real Modelica programs. Most of our conclusions developed in this thesis are also valid for other equation-based modeling languages.

Place, publisher, year, edition, pages
Institutionen för datavetenskap , 2002. , 156 p.
Linköping Studies in Science and Technology. Thesis, ISSN 0280-7971 ; 964
Keyword [en]
software development, object-oriented, debugging, computer programming, debugging kernel prototypes
National Category
Computer Science
URN: urn:nbn:se:liu:diva-5727ISBN: 91-7373-382-2 (print)OAI: diva2:21482
2002-09-19, 00:00 (English)
Report code: LiU-Tek-Lic-2002:37.Available from: 2003-11-11 Created: 2003-11-11 Last updated: 2014-10-08

Open Access in DiVA

fulltext(1523 kB)1481 downloads
File information
File name FULLTEXT01.pdfFile size 1523 kBChecksum MD5
Type fulltextMimetype application/pdf

Search in DiVA

By author/editor
Bunus, Peter
By organisation
PELAB - Programming Environment LaboratoryThe Institute of Technology
Computer Science

Search outside of DiVA

GoogleGoogle Scholar
Total: 1481 downloads
The number of downloads is the sum of all downloads of full texts. It may include eg previous versions that are now no longer available

Total: 954 hits
ReferencesLink to record
Permanent link

Direct link