Browse Prior Art Database

Verbesserte Betrachtung von Zugriffen auf absolute Adressen in der statischen und dynamischen Software-Analyse

IP.com Disclosure Number: IPCOM000126016D
Original Publication Date: 2005-Jul-25
Included in the Prior Art Database: 2005-Jul-25
Document File: 3 page(s) / 730K

Publishing Venue

Siemens

Related People

Juergen Carstens: CONTACT

Abstract

In der Softwareentwicklung werden immer leistungsfaehigere Werkzeuge eingesetzt. Eine Klasse dieser Werkzeuge sind statische Analysatoren (Static Source Code Analyzers), welche durch Anwendung verschiedenster Verfahren (tatsaechliche und potentielle) Fehler einer Software allein durch Analyse des Quellcodes der jeweiligen Software aufzeigen. Eine weitere Klasse von Werkzeugen sind dynamische Analysewerkzeuge, die waehrend der Ausfuehrung der zu analysierenden Software Fehler darlegen. Die derzeit verfuegbaren Analysewerkzeuge koennen nur Quellcode oder Objektcode (also Software) analysieren. Bei der statischen und dynamischen Analyse von Software koennen Zugriffe auf absolute Speicheradressen und bei Lesezugriffen die nachfolgende Verwendung des gelesenen Wertes nur ungenuegend auf Korrektheit ueberprueft werden, da sich aus der Software an sich keine Informationen ueber die statischen und dynamischen Eigenschaften einer Speicheradresse, d.h. der auf dieser Speicheradresse liegenden Hardware, ergeben. Fuer Zugriffe auf absolute Speicheradressen sind beim bisherigen Stand der Technik der Softwareanalyse keine Korrektheitskriterien anwendbar. Insbesondere bei Embedded Software sollten fuer eine effektive Analyse auch softwarerelevante Hardwareaspekte in die Analyse eingehen. Das betraechtliche Wissen des Systemarchitekten ueber die Hardware und deren Zuordnung zu einer bestimmten Adresse sollte dem jeweiligen Analysewerkzeug zur Verfuegung gestellt werden.

This text was extracted from a PDF file.
At least one non-text object (such as an image or picture) has been suppressed.
This is the abbreviated version, containing approximately 52% of the total text.

Page 1 of 3

S

Verbesserte Betrachtung von Zugriffen auf absolute Adressen in der statischen und dynamischen Software-Analyse

Idee: Roger Plieske, DE-Muenchen

In der Softwareentwicklung werden immer leistungsfaehigere Werkzeuge eingesetzt. Eine Klasse dieser Werkzeuge sind statische Analysatoren (Static Source Code Analyzers), welche durch Anwendung verschiedenster Verfahren (tatsaechliche und potentielle) Fehler einer Software allein durch Analyse des Quellcodes der jeweiligen Software aufzeigen. Eine weitere Klasse von Werkzeugen sind dynamische Analysewerkzeuge, die waehrend der Ausfuehrung der zu analysierenden Software Fehler darlegen.

Die derzeit verfuegbaren Analysewerkzeuge koennen nur Quellcode oder Objektcode (also Software) analysieren. Bei der statischen und dynamischen Analyse von Software koennen Zugriffe auf absolute Speicheradressen und bei Lesezugriffen die nachfolgende Verwendung des gelesenen Wertes nur ungenuegend auf Korrektheit ueberprueft werden, da sich aus der Software an sich keine Informationen ueber die statischen und dynamischen Eigenschaften einer Speicheradresse, d.h. der auf dieser Speicheradresse liegenden Hardware, ergeben. Fuer Zugriffe auf absolute Speicheradressen sind beim bisherigen Stand der Technik der Softwareanalyse keine Korrektheitskriterien anwendbar. Insbesondere bei Embedded Software sollten fuer eine effektive Analyse auch softwarerelevante Hardwareaspekte in die Analyse eingehen. Das betraechtliche Wissen des Systemarchitekten ueber die Hardware und deren Zuordnung zu einer bestimmten Adresse sollte dem jeweiligen Analysewerkzeug zur Verfuegung gestellt werden.

Bestehende Analysewerkzeuge werden nun derart erweitert, dass deren Eigenschaften hinsichtlich ihrer Qualitaetsmerkmale bei dem Erkennen von Fehlerklassen und der fuer die Analyse notwendigen Zeitdauer erheblich verbessert wird. Dafuer wird an einer zentralen Stelle eine formale Beschreibung des Verhaltens der zugrundeliegenden Hardwareregister und Speicherbausteine erstellt. Die Beschreibung enthaelt Informationen ueber Adressen, Zugriffsmodi und Wertebereiche des Hardwaresystems, fuer welche die zu analysierende Software erstellt wird. Das Softwareanalysewerkzeug liest diese Beschreibung und prueft bei jeder waehrend der Analyse identifizierten Zeigerdereferenzierung, ob der Zeiger auf eine absolute Adresse verweist und ob zu dieser Adresse eine entsprechende Verhaltensbeschreibung vorhanden ist. Falls dies der Fall ist, kann gegen diese Beschreibung geprueft werden (z.B. ob der Zugriffsmodus erlaubt war) bzw. (im Fall von Lesezugriffen bei einer statischen Analyse) die Analyse mit einem eingeschraenkten Wertebereich fortgefuehrt werden (siehe Abb. 1 und 2). Fuer den Zweck der dynamischen Analyse wird der Quellcode vom Analysewerkzeug vor der Uebersetzung und Ausfuehrung entsprechend instrumentiert, d.h. vor und nach jedem Zugriff ueber einen Zeiger wird eine Routine aufgerufen, welche die beschriebene U...