Debugging and Structural Analysis of Declarative Equation-Based Languages
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...
Main Author: | |
---|---|
Format: | Others |
Language: | English |
Published: |
Linköpings universitet, PELAB - Laboratoriet för programmeringsomgivningar
2002
|
Subjects: | |
Online Access: | http://urn.kb.se/resolve?urn=urn:nbn:se:liu:diva-5727 http://nbn-resolving.de/urn:isbn:9173733822 |
id |
ndltd-UPSALLA1-oai-DiVA.org-liu-5727 |
---|---|
record_format |
oai_dc |
spelling |
ndltd-UPSALLA1-oai-DiVA.org-liu-57272020-05-30T03:46:11ZDebugging and Structural Analysis of Declarative Equation-Based LanguagesengBunus, PeterLinköpings universitet, PELAB - Laboratoriet för programmeringsomgivningarLinköpings universitet, Tekniska högskolanInstitutionen för datavetenskap2002software developmentobject-orienteddebuggingcomputer programmingdebugging kernel prototypesComputer SciencesDatavetenskap (datalogi)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. <p>Report code: LiU-Tek-Lic-2002:37.</p>Licentiate thesis, monographinfo:eu-repo/semantics/masterThesistexthttp://urn.kb.se/resolve?urn=urn:nbn:se:liu:diva-5727urn:isbn:9173733822Local LiU-Tek-Lic-2002:37Linköping Studies in Science and Technology. Thesis, 0280-7971 ; 964application/pdfinfo:eu-repo/semantics/openAccess |
collection |
NDLTD |
language |
English |
format |
Others
|
sources |
NDLTD |
topic |
software development object-oriented debugging computer programming debugging kernel prototypes Computer Sciences Datavetenskap (datalogi) |
spellingShingle |
software development object-oriented debugging computer programming debugging kernel prototypes Computer Sciences Datavetenskap (datalogi) Bunus, Peter Debugging and Structural Analysis of Declarative Equation-Based Languages |
description |
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. === <p>Report code: LiU-Tek-Lic-2002:37.</p> |
author |
Bunus, Peter |
author_facet |
Bunus, Peter |
author_sort |
Bunus, Peter |
title |
Debugging and Structural Analysis of Declarative Equation-Based Languages |
title_short |
Debugging and Structural Analysis of Declarative Equation-Based Languages |
title_full |
Debugging and Structural Analysis of Declarative Equation-Based Languages |
title_fullStr |
Debugging and Structural Analysis of Declarative Equation-Based Languages |
title_full_unstemmed |
Debugging and Structural Analysis of Declarative Equation-Based Languages |
title_sort |
debugging and structural analysis of declarative equation-based languages |
publisher |
Linköpings universitet, PELAB - Laboratoriet för programmeringsomgivningar |
publishDate |
2002 |
url |
http://urn.kb.se/resolve?urn=urn:nbn:se:liu:diva-5727 http://nbn-resolving.de/urn:isbn:9173733822 |
work_keys_str_mv |
AT bunuspeter debuggingandstructuralanalysisofdeclarativeequationbasedlanguages |
_version_ |
1719315542240657408 |