DE112013007083B4 - Programmanalysevorrichtung, Programmanalyseverfahren und Programmanalyseprogramm - Google Patents

Programmanalysevorrichtung, Programmanalyseverfahren und Programmanalyseprogramm Download PDF

Info

Publication number
DE112013007083B4
DE112013007083B4 DE112013007083.9T DE112013007083T DE112013007083B4 DE 112013007083 B4 DE112013007083 B4 DE 112013007083B4 DE 112013007083 T DE112013007083 T DE 112013007083T DE 112013007083 B4 DE112013007083 B4 DE 112013007083B4
Authority
DE
Germany
Prior art keywords
program
variable
new
source code
subroutine
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
DE112013007083.9T
Other languages
English (en)
Other versions
DE112013007083T5 (de
Inventor
Masuo Ito
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Publication of DE112013007083T5 publication Critical patent/DE112013007083T5/de
Application granted granted Critical
Publication of DE112013007083B4 publication Critical patent/DE112013007083B4/de
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3604Software analysis for verifying properties of programs
    • G06F11/3612Software analysis for verifying properties of programs by runtime analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3604Software analysis for verifying properties of programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Stored Programmes (AREA)

Abstract

Fahrzeugexterne Programmanalysevorrichtung (200), welche aufweist:-einen Listenerwerbsteil (220) zum Erwerben einer Teilprogrammliste (122), die ein Teilprogramm anzeigt, das ein Durchführungsprogramm (123) zum Steuern eines Fahrzeugs (120) bildet, von einer elektronischen Steuervorrichtung (121) des Fahrzeugs (120);-einen Quellencode-Erwerbsteil (230) zum Erwerben eines Quellencodes (111) des Teilprogramms, das durch die von dem Listenerwerbsteil erworbene Teilprogrammliste angezeigt wird, eines Quellencodes eines neuen Teilprogramms, das zu dem Durchführungsprogramm hinzuzufügen ist, variabler Informationen betreffend eine in dem Teilprogramm verwendete Variable und variabler Informationen betreffend eine in dem neuen Teilprogramm verwendete Variable, von einem Anwendungsserver (110);-einen Programmanalyseteil (240) zum Schaffen eines Quellencodes von einem neuen Durchführungsprogramm, das das neue Teilprogramm enthält, unter Verwendung des durch den Quellencode-Erwerbsteil erworbenen Quellencodes des Teilprogramms, der durch den Quellencode-Erwerbsteil erworbenen variablen Informationen über das Teilprogramm, des durch den Quellencode-Erwerbsteil erworbenen Quellencode des neuen Teilprogramms, und der durch den Quellencode-Erwerbsteil erworbenen variablen Informationen über das neue Teilprogramm;, und zum Bestimmen, ob ein Fehler in dem neuen Durchführungsprogramm auftreten wird oder nicht, durch Durchführen eines Programmanalyse-Werkzeugs bei dem Quellencode des neuen Durchführungsprogrammswobei die variablen Informationen über das Teilprogramm eine Variable anzeigen, die in einer das Teilprogramm bildenden Subroutine zu verwenden ist, welche Variable eine unter einer Variablen mit einem Voraktualisierungs-Leseattribut zum Lesen eines variablen Voraktualisierungswerts, einer Variablen mit einem Schreibattribut zum Aktualisieren eines variablen Werts und einer Variablen mit einem Nachaktualisierungs-Leseattribut zum Lesen eines variablen Nachaktualisierungswerts ist,wobei die variablen Informationen über das neue Teilprogramm eine in einer das neue Teilprogramm bildenden Subroutine zu verwendende Variable anzeigt, welche Variable eine unter einer Variablen mit dem Voraktualisierungs-Leseattribut, einer Variablen mit dem Schreibattribut und einer Variablen mit dem Nachaktualisierungs-Leseattribut ist, undwobei der Programmanalyseteil auf der Grundlage der variablen Informationen über das Teilprogramm und der variablen Informationen über das neue Teilprogramm eine Reihenfolge bestimmt, in der die Subroutine des Teilprogramms und die Subroutine des neuen Teilprogramms aufzurufen sind,einen Quellencode einer Hauptroutine schafft, die die Subroutine des Teilprogramms und die Subroutine des neuen Teilprogramms in der bestimmten Reihenfolge aufruft, undden Quellencode des neuen Durchführungsprogramms unter Verwendung des Quellencodes der Hauptroutine, des Quellencodes des Teilprogramms und des Quellencodes des neuen Teilprogramms schafft.

Description

  • Technisches Gebiet
  • Die vorliegende Erfindung bezieht sich auf eine Programmanalysevorrichtung, ein Programmanalyseverfahren und ein Programmanalyseprogramm.
  • Stand der Technik
  • Ein Analysewerkzeug wird bei einem Programmquellencode oder einem Programm vom Ausführungstyp durchgeführt, um einen problematischen Bereich eines entwickelten Programms zu erfassen.
  • Der Gestalter des Programms bestimmt auf der Grundlage eines Analyseergebnisses, ob ein Fehler in dem Programm existiert oder nicht, und führt das Bestimmungsergebnis zu der Programmgestaltung zurück.
  • Eine ausreichende Programmanalyse kann nicht durchgeführt werden, wenn nicht alle Quellencodes, die das Programm bilden, verfügbar sind.
  • Genauer gesagt, wenn ein Programm zum Bereitstellen einer zusätzlichen Funktion zu einem existierenden Programm hinzugefügt wird, muss eine Programmanalyse bei allen Kombinationen von Programmen, die hinzuzufügen sind, und des existierenden Programms durchgeführt werden.
  • Wenn daher die hinzuzufügenden Programme zunehmen, ergibt sich eine sehr große Anzahl von Kombinationen als ein Analyseziel, und eine sehr große Arbeitslast ist für die Programmanalyse erforderlich.
  • Ein von dem Programmanalyse-Werkzeug ausgegebener Alarminhalt enthält einen von dem Gestalter beabsichtigten Inhalt, das heißt, einen Inhalt, der nicht zu einem Programmfehler führt, zusätzlich zu einem Inhalt, der zu einem Programmfehler führt. Jedoch können der Inhalt, der zu dem Programmfehler führt, und der Inhalt, der nicht zu dem Programmfehler führt, nicht automatisch getrennt werden.
  • In der JP 2010 - 67 188 A ist eine Informationsverarbeitungseinrichtung beschrieben, die dazu dient, die Änderung eines Quellencodes zu erfassen. Dabei wird ein Differenzquellencodeset durch Vergleich des neuen und alten Quellencodes gebildet. Danach werden Testfälle mit einem Quellencode durchgeführt, um festzustellen welcher Code durch die Testfälle ausgeführt wird und die bestimmten Funktionseinheiten durch Berechnung eines Schnittpunktes in Verbindung mit Knoten der geänderten Codeelemente zu bringen.
  • Zitatliste
  • Patentliteratur
  • Patentdokument 1: JP 07-210424
  • Zusammenfassung der Erfindung
  • Technisches Problem
  • Ausgehend hiervon liegt der Erfindung die Aufgabe zugrunde, eine Programmanalyse betreffend ein neues Ausführungsprogramm, zu welchem ein neues Teilprogramm hinzugefügt wurde, möglichst einfach zu gestalten.
  • Lösung des Problems
  • Diese Aufgabe wird durch die Programmanalysevorrichtung nach Anspruch 1 gelöst. Vorteilhafte Weiterbildungen des erfindungsgemäßen die Programmanalysevorrichtung werden in den abhängen Ansprüchen gegeben.
  • Vorteilhafte Wirkungen der Erfindung
  • Gemäß der vorliegenden Erfindung kann eine Programmanalyse betreffend ein neues Ausführungsprogramm zu dem ein neues Teilprogramm hinzugefügt wurde, leicht durchgeführt werden durch Erwerben des Quellencodes des Teilprogramms und des Quellencodes des neuen Teilprogramms.
  • Figurenliste
    • 1 ist ein Konfigurationsdiagramm eines Programmmanagementsystems 100 gemäß dem Ausführungsbeispiel 1.
    • 2 ist ein funktionelles Konfigurationsdiagramm eines externen Endgeräts 200 gemäß dem Ausführungsbeispiel 1.
    • 3 ist ein Flussdiagramm, das den Prozessablauf eines Programmmanagementverfahrens gemäß dem Ausführungsbeispiel 1 ausdrückt.
    • 4 ist ein Diagramm, das ein Beispiel für die Hardwarekonfiguration des externen Endgeräts 200 gemäß dem Ausführungsbeispiel 1 illustriert.
    • 5 ist ein funktionelles Konfigurationsdiagramm eines Anwendungsservers 110 gemäß dem Ausführungsbeispiel 2.
    • 6 ist ein Flussdiagramm, das den Prozessablauf eines Programmmanagementverfahrens gemäß dem Ausführungsbeispiel 2 ausdrückt.
    • 7 ist ein funktionelles Konfigurationsdiagramm eines Programmmanagementsystems 100 gemäß dem Ausführungsbeispiel 3.
    • 8 ist ein Flussdiagramm, das den Prozessablauf eines Programmmanagementverfahrens gemäß dem Ausführungsbeispiel 3 ausdrückt.
    • 9 ist ein Konfigurationsdiagramm von Anwendungsdateien 118 gemäß dem Ausführungsbeispiel 4.
    • 10 ist ein funktionelles Konfigurationsdiagramm eines externen Endgeräts 200 gemäß dem Ausführungsbeispiel 4.
    • 11 ist ein Flussdiagramm, das den Prozessablauf eines Programmmanagementverfahrens gemäß dem Ausführungsbeispiel 4 ausdrückt.
    • 12 ist ein Flussdiagramm eines Programmanalyseprozesses (S200) gemäß dem Ausführungsbeispiel 4.
    • 13 ist ein Flussdiagramm eines Hauptroutinen-Schaffungsprozesses (S210) gemäß dem Ausführungsbeispiel 4.
    • 14 ist ein Diagramm, das ein Beispiel für eine erste strukturelle Gestaltungsdatei 291 gemäß dem Ausführungsbeispiel 4 illustriert.
    • 15 ist ein Diagramm, das ein Beispiel für eine zweite strukturelle Gestaltungsdatei 292 gemäß dem Ausführungsbeispiel 4 illustriert.
    • 16 ist ein schematisches Diagramm, das ein Anwendungsprüfverfahren gemäß dem Ausführungsbeispiel 4 anzeigt.
    • 17 ist ein Flussdiagramm eines Programmanalyseprozesses (S200) gemäß dem Ausführungsbeispiel 5.
    • 18 ist ein Diagramm, das ein Beispiel für eine erste strukturelle Gestaltungsdatei 291 gemäß dem Ausführungsbeispiel 6 illustriert.
    • 19 ist ein Diagramm, das ein Beispiel für eine zweite strukturelle Gestaltungsdatei 292 gemäß dem Ausführungsbeispiel 6 illustriert.
    • 20 ist ein Diagramm, das ein Beispiel für eine dritte strukturelle Gestaltungsdatei 293 gemäß dem Ausführungsbeispiel 6 illustriert.
    • 21 ist ein Flussdiagramm eines Hauptroutinen-Schaffungsprozesses (S210) gemäß dem Ausführungsbeispiel 7.
    • 22 ist ein Diagramm, das ein Beispiel für eine erste strukturelle Gestaltungsdatei 291 gemäß dem Ausführungsbeispiel 7 illustriert.
    • 23 ist ein Diagramm, das ein Beispiel für die erste strukturelle Gestaltungsdatei 291 gemäß dem Ausführungsbeispiel 7 illustriert.
    • 24 ist ein Diagramm, das ein Beispiel für die erste strukturelle Gestaltungsdatei 291 gemäß dem Ausführungsbeispiel 7 illustriert.
  • Beschreibung der Ausführungsbeispiele
  • Ausführungsbeispiel 1
  • Es wird ein Ausführungsbeispiel beschrieben, bei dem eine Programmanalyse betreffend ein neues Ausführungsprogramm, zu dem ein neues Teilprogramm hinzugefügt wurde, durchgeführt wird.
  • 1 ist ein Konfigurationsdiagramm eines Programmmanagementsystems 100 gemäß dem Ausführungsbeispiel 1.
  • Die Konfiguration des Programmmanagementsystems 100 gemäß dem Ausführungsbeispiel 1 wird mit Bezug auf 1 beschrieben.
  • Das Programmmanagementsystem 100 enthält einen Anwendungsserver 110, ein Fahrzeug 120 und ein externes Endgerät 200 (ein Beispiel für eine Programmanalysevorrichtung). Das Fahrzeug 120 enthält eine elektronische Steuervorrichtung 121 (ein Beispiel für eine Programmdurchführungsvorrichtung), die das Fahrzeug 120 steuert. Es ist darauf hinzuweisen, dass die elektronische Steuervorrichtung 121 eine Vorrichtung sein kann, die einen anderen Informationsprozess als eine Fahrzeugsteuerung durchführt.
  • Das externe Endgerät 200 kommuniziert mit dem Anwendungsserver 110 und dem Fahrzeug 120 in einer leitungsgebundenen Weise oder durch Funk.
  • Die elektronische Steuervorrichtung 121 speichert eine Anwendungsliste 122 (ein Beispiel für eine Teilprogrammliste) und ein Durchführungsprogramm 123.
  • Das Durchführungsprogramm 123 ist ein Programm vom Durchführungstyp zum Steuern beispielsweise des Fahrzeugs 120.
  • Die Anwendungsliste 122 ist Daten, die den Namen eines Anwendungsprogramms (ein Beispiel für das Teilprogramm), das das Durchführungsprogramm 123 bildet, anzeigen.
  • Das das Durchführungsprogramm 123 bildende Anwendungsprogramm wird nachfolgend als „installierte Anwendung“ bezeichnet.
  • Wenn ein Anwendungsprogramm zu der elektronischen Steuervorrichtung 121 hinzugefügt wird, das heißt, wenn ein Anwendungsprogramm hinzugefügt oder eingesteckt wird, arbeitet das externe Endgerät 200 wie folgt.
  • Das hinzuzufügende Anwendungsprogramm wird nachfolgend als „zusätzliche Anwendung“ bezeichnet, und das Durchführungsprogramm 123, zu dem das Anwendungsprogramm hinzugefügt wurde, wird nachfolgend als „neues Durchführungsprogramm 123“ bezeichnet.
    • (1) Das externe Endgerät 200 erwirbt die Anwendungsliste 122 von der elektronischen Steuervorrichtung 121.
    • (2) Das externe Endgerät 200 erwirbt Quellencodes 111 der installierten Anwendung, die durch einen von der Anwendungsliste 122 angezeigten Anwendungsnamen identifiziert wird, von dem Anwendungsserver 110.
  • Das externe Endgerät 200 erwirbt auch Quellencodes 111 der zusätzlichen Anwendung von dem Anwendungsserver 110.
    • (3) Unter Verwendung der Quellencodes 111 der zusätzlichen Anwendung und der Quellencodes 111 der installierten Anwendung führt das externe Endgerät 200 eine Programmanalyse betreffend das neue Durchführungsprogramm 123 durch. In der Programmanalyse wird bestimmt, ob ein Fehler in dem neuen Durchführungsprogramm 123 auftreten wird oder nicht.
    • (4) Wenn bestimmt wird, dass ein Fehler in dem neuen Durchführungsprogramm 123 nicht auftreten wird, schafft das externe Endgerät 200 das neue Durchführungsprogramm 123 und aktualisiert das in der elektronischen Steuervorrichtung 121 gespeicherte Durchführungsprogramm 123 mit dem neuen Durchführungsprogramm 123. Das externe Endgerät 200 fügt auch den Anwendungsnamen der zusätzlichen Anwendung zu der Anwendungsliste 122 hinzu.
  • Durch die vorstehende Operation kann bestimmt werden, ob ein Fehler in dem neuen Durchführungsprogramm 123 auftreten wird oder nicht, wenn ein Anwendungsprogramm hinzugefügt wird.
  • 2 ist ein funktionelles Konfigurationsdiagramm des externen Endgeräts 200 gemäß dem Ausführungsbeispiel 1.
  • Die funktionelle Konfiguration des externen Endgeräts 200 gemäß dem Ausführungsbeispiel 1 wird mit Bezug auf 2 beschrieben.
  • Das externe Endgerät 200 enthält einen Annahmeteil 210 für eine zusätzliche Anwendung, einen Anwendungslisten-Leseteil 220 (ein Beispiel für einen Listenerwerbsteil) und einen Anwendungssammelteil 230 (ein Beispiel für einen Quellencode-Erwerbsteil).
  • Das externe Endgerät 200 enthält einen Programmanalyseteil 240, einen Programmschaffungsteil 250, einen Programmaktualisierungsteil 260 und einen Endgeräte-Speicherteil 290.
  • Der Annahmeteil 210 für eine zusätzliche Anwendung nimmt eine Anwendungsprogramm-Hinzufügungsanforderung für die elektronische Steuervorrichtung 121 an.
  • Der Anwendungslisten-Leseteil 220 liest die Anwendungsliste 122 aus der elektronischen Steuervorrichtung 121.
  • Der Anwendungssammelteil 230 lädt die Quellencodes 111 der installierten Anwendung, die durch den in der Anwendungsliste 122 angezeigten Anwendungsnamen identifiziert wird, aus dem Anwendungsserver 110 herunter. Der Anwendungssammelteil 230 lädt auch die Quellencodes 111 der zusätzlichen Anwendung aus dem Anwendungsserver 110 herunter.
  • Unter Verwendung der Quellencodes 111 der zusätzlichen Anwendung und der Quellencodes 111 der installierten Anwendung führt der Programmanalyseteil 240 eine Programmanalyse betreffend das neue Durchführungsprogramm 123 durch.
  • Der Programmschaffungsteil 250 schafft das neue Durchführungsprogramm 123, wenn bestimmt wird, dass ein Fehler in dem neuen Durchführungsprogramm 123 nicht auftreten wird.
  • Der Programmaktualisierungsteil 260 aktualisiert das in der elektronischen Steuervorrichtung 121 gespeicherte Durchführungsprogramm 123 mit dem neuen Durchführungsprogramm 123. Der Programmaktualisierungsteil 260 fügt auch den Anwendungsnamen der zusätzlichen Anwendung zu der Anwendungsliste 122 hinzu.
  • Der Endgeräte-Speicherteil 290 speichert von dem externen Endgerät 200 zu verwendende Daten.
  • Beispielsweise speichert der Endgeräte-Speicherteil 290 die Anwendungsliste 122, die Quellencodes 111 der zusätzlichen Anwendung, die Quellencodes 111 der installierten Anwendung, das neue Durchführungsprogramm 123 und dergleichen.
  • 3 ist ein Flussdiagramm, das den Prozessablauf eines Programmmanagementverfahrens gemäß dem Ausführungsbeispiel 1 ausdrückt.
  • Das Programmmanagementverfahren gemäß dem Ausführungsbeispiel 1 wird unter Bezug auf 3 beschrieben.
  • Es wird angenommen, dass die Quellencodes 111 der entwickelten Anwendung vorher in dem Anwendungsserver 110 gespeichert werden.
  • Wenn die Quellencodes 111 in der C-Sprache geschrieben sind, ist die Erweiterung einer Datei, in der die Quellencodes 111 beschrieben sind, gleich „.c“ oder „.h“.
  • In S110 gibt der Benutzer eine Anwendungshinzufügungsanforderung für die elektronische Steuervorrichtung 121 in das externe Endgerät 200 ein. Beispielsweise gibt der Händler (ein Beispiel für den Benutzer) des Fahrzeugs 120 eine Anwendungshinzufügungsanforderung in das externe Endgerät 200 ein.
  • Der Annahmeteil 210 für die zusätzliche Anwendung des externen Endgeräts 200 nimmt die Anwendungshinzufügungsanforderung an.
  • Es ist zu beachten, dass die Anwendungshinzufügungsanforderung einen Anwendungsnamen (ein Beispiel für den Identifizierer) der zu der elektronischen Steuervorrichtung 121 hinzuzufügenden zusätzlichen Anwendung enthält.
  • Nach S110 geht der Prozess zu S120 weiter.
  • In S120 kommuniziert der Anwendungslisten-Leseteil 220 mit der elektronischen Steuervorrichtung 121. Der Anwendungslisten-Leseteil 220 liest dann die Anwendungsliste 122 aus der elektronischen Steuervorrichtung 121.
  • Nach S120 geht der Prozess zu S130 weiter.
  • In S130 kommuniziert der Anwendungssammelteil 230 mit dem Anwendungsserver 110.
  • Der Anwendungssammelteil 230 lädt die Quellencodes 111 der zusätzlichen Anwendung, die durch den in der in S110 eingegebenen Hinzufügungsanforderung enthaltenen Anwendungsnamen identifiziert wird, aus dem Anwendungsserver 110 herunter.
  • Der Anwendungssammelteil 230 lädt auch die Quellencodes 111 der installierten Anwendung, die durch den von der in S120 gelesenen Anwendungsliste 122 angezeigten Anwendungsnamen identifiziert wird, aus dem Anwendungsserver 110 herunter.
  • Nach S130 geht der Prozess zu S140 weiter.
  • In S140 führt unter Verwendung der Quellencodes 111 der zusätzlichen Anwendung und der Quellencodes 111 der installierten Anwendung, die in S130 heruntergeladen wurden, der Programmanalyseteil 240 eine Programmanalyse betreffend das neue Durchführungsprogramm 123 durch. Der Programmanalyseteil 240 erhält dann ein Analyseergebnis, das anzeigt, ob ein Fehler in dem neuen Durchführungsprogramm 123 auftreten wird oder nicht.
  • Beispielsweise führt der Programmanalyseteil 240 eine Programmanalyse statisch oder dynamisch durch, indem er ein herkömmliches Programmanalyse-Werkzeug durchführt.
  • Ein Überlauf, ein Unterlauf, die Anwesenheit/Abwesenheit der Teilung durch 0 oder einer Zugriffsausnahme, die Anwesenheit/Abwesenheit eines rekursiven Rufs nach einem Modul (auch als eine Routine bezeichnet), die Unvereinbarkeit der Begrenzung für eine Unterbrechung, und dergleichen sind Beispiele für den Analyseinhalt.
  • Nach S140 geht der Prozess zu S150 weiter.
  • In 5150 verzweigt der Prozess gemäß dem Analyseergebnis von S140. Wenn ein Analyseergebnis dahingehend, dass ein Fehler in dem neuen Durchführungsprogramm 123 auftreten wird, erhalten wird (JA), zeigt der Annahmeteil 210 für die zusätzliche Anwendung eine Fehlernachricht an, die mitteilt, dass die Anwendung nicht hinzugefügt werden kann, und der Prozess des Programmmanagementverfahrens endet.
  • Wenn ein Analyseergebnis dahingehend, dass ein Fehler in dem neuen Durchführungsprogramm 123 nicht auftreten wird, erhalten wird (NEIN), geht der Prozess zu S160 weiter.
  • In S160 schafft der Programmschaffungsteil 250 das neue Durchführungsprogramm 123.
  • Beispielsweise kompiliert der Programmschaffungsteil 250 die Quellencodes 111 der zusätzlichen Anwendung und die Quellencodes 111 der installierten Anwendung. Der Programmschaffungsteil 250 verknüpft dann durch Kompilieren geschaffene Objektdateien. Das neue Durchführungsprogramm 123 wird durch Verknüpfen der Objektdateien geschaffen.
  • Nach S160 geht der Prozess zu S170 weiter.
  • In S170 kommuniziert der Programmaktualisierungsteil 260 mit der elektronischen Steuervorrichtung 121.
  • Der Programmaktualisierungsteil 260 aktualisiert das in der elektronischen Steuervorrichtung 121 gespeicherte Durchführungsprogramm 123 mit dem in 5160 geschaffenen neuen Durchführungsprogramm 123.
  • Der Programmaktualisierungsteil 260 fügt auch den Anwendungsnamen der zusätzlichen Anwendung zu der in der elektronischen Steuervorrichtung 121 gespeicherten Anwendungsliste 122 hinzu.
  • Der Annahmeteil 210 für die zusätzliche Anwendung zeigt eine Beendigungsnachricht, die mitteilt, dass das Hinzufügen der Anwendung beendet ist, auf dem Anzeigeteil des externen Endgeräts 200 an.
  • Nach S170 endet der Prozess des Programmmanagementverfahrens.
  • 4 ist ein Diagramm, das ein Beispiel für die Hardwarekonfiguration des externen Endgeräts 200 gemäß dem Ausführungsbeispiel 1 illustriert.
  • Ein Beispiel für die Hardwarekonfiguration des externen Endgeräts 200 gemäß dem Ausführungsbeispiel 1 wird mit Bezug auf 4 beschrieben.
  • Das externe Endgerät 200 ist ein Computer, der eine arithmetische Vorrichtung 901, eine Hilfsspeichervorrichtung 902, eine Hauptspeichervorrichtung 903, eine Kommunikationsvorrichtung 904 und eine Eingabe/Ausgabe-Vorrichtung 905 enthält.
  • Die arithmetische Vorrichtung 901, die Hilfsspeichervorrichtung 902, die Hauptspeichervorrichtung 903, die Kommunikationsvorrichtung 904 und die Eingabe/Ausgabe-Vorrichtung 905 sind mit einem Bus 909 verbunden.
  • Die arithmetische Vorrichtung 901 ist eine CPU (Zentrale Verarbeitungseinheit), die ein Programm durchführt.
  • Die Hilfsspeichervorrichtung 902 ist beispielsweise ein ROM (Festwertspeicher), ein Flashspeicher oder eine Plattenvorrichtung.
  • Die Hauptspeichervorrichtung 903 ist beispielsweise ein RAM (Speicher mit wahlfreiem Zugriff).
  • Die Kommunikationsvorrichtung 904 kommuniziert über das Internet, ein LAN (Lokales Netz), ein Telefonnetz oder ein anderes Netz mit leitungsgebundener oder Funkverbindung.
  • Die Eingabe/Ausgabe-Vorrichtung 905 ist beispielsweise ein Maus, eine Tastatur oder eine Anzeigevorrichtung.
  • Das Programm ist üblicherweise in der Hilfsspeichervorrichtung 902 gespeichert und wird in die Hauptspeichervorrichtung 903 geladen, von der arithmetischen Vorrichtung 901 gelesen und von der arithmetischen Vorrichtung 901 durchgeführt.
  • Beispielsweise ist ein Betriebssystem (OS) in der Hilfsspeichervorrichtung 902 gespeichert. Ein Programm (ein Beispiel für ein Programmanalyseprogramm), das die Funktion, die als ein „Teil“ erläutert ist, implementiert, ist in der Hilfsspeichervorrichtung 902 gespeichert. Das OS und das Programm, das die als das „Teil“ erläuterte Funktion implementiert, werden in die Hauptspeichervorrichtung 903 geladen und durch die arithmetische Vorrichtung 901 durchgeführt.
  • Informationen, Daten, Signalwerte oder variable Werte, die die Ergebnisse von Prozessen wie „Entscheiden“, „Bestimmen“, „Herausziehen“, „Erfassen“, „Setzen“, „Registrieren“, „Auswählen“, „Schaffen“, „Eingeben“, „Ausgeben“ und dergleichen darstellen, werden in der Form von Dateien in der Hauptspeichervorrichtung 903 oder der Hilfsspeichervorrichtung 902 gespeichert. Andere von dem externen Endgerät 200 zu verwendende Daten werden in der Hauptspeichervorrichtung 903 oder der Hilfsspeichervorrichtung 902 gespeichert.
  • 4 illustriert ein Beispiel für die Hardwarekonfiguration des externen Endgeräts 200 gemäß dem Ausführungsbeispiel 1. Die Hardwarekonfiguration des externen Endgeräts 200 kann von der in 4 illustrierten Konfiguration verschieden sein.
  • Das Verfahren (ein Beispiel für das Programmanalyseverfahren) gemäß dem Ausführungsbeispiel 1 kann durch den Vorgang implementiert werden, der unter Verwendung der Flussdiagramme und dergleichen erläutert wird, oder durch einen Vorgang, der sich teilweise von diesem Vorgang unterscheidet.
  • Gemäß dem Ausführungsbeispiel 1 kann eine Programmanalyse betreffend das neue Durchführungsprogramm 123 leicht durchgeführt werden durch Sammeln der Quellencodes 111 der installierten Anwendung und der Quellencodes 111 der zusätzlichen Anwendung.
  • Da die Programmanalyse durchgeführt wird, nachdem die für die Implementierung des neuen Durchführungsprogramms 123 erforderlichen Quellencodes vorbereitet sind, braucht die Programmanalyse nur einmal durchgeführt zu werden. Das heißt, die Arbeitslast der Programmanalyse kann verringert werden.
  • Ausführungsbeispiel 2
  • Ein Ausführungsbeispiel, bei dem das Ergebnis einer vergangenen Programmanalyse verwendet wird, wird beschrieben.
  • Merkmale, die gegenüber dem Ausführungsbeispiel 1 unterschiedlich sind, werden nachfolgend hauptsächlich beschrieben. Merkmale, die nicht beschrieben werden, sind dieselben wie beim Ausführungsbeispiel 1.
  • 5 ist ein funktionelles Konfigurationsdiagramm eines Anwendungsservers 110 gemäß dem Ausführungsbeispiel 2.
  • Die funktionale Konfiguration des Anwendungsservers 110 gemäß dem Ausführungsbeispiel 2 wird mit Bezug auf 5 beschrieben.
  • Der Anwendungsserver 110 enthält einen Quellencodeanforderungs-Empfangsteil 113, einen Analyseergebnis-Suchteil 114, einen Quellencode-Beantwortungsteil 115 und einen Serverspeicherteil 119.
  • Der Serverspeicherteil 119 speichert von dem Anwendungsserver 110 zu verwendende Daten.
  • Beispielsweise speichert der Serverspeicherteil 119 die Quellencodes 111 und eine Analyseergebnistabelle 112.
  • Die Analyseergebnistabelle 112 ist eine Tabelle, die das Analyseergebnis des Programms mit den Anwendungsnamen der mehreren das Programm bildenden Anwendungen korreliert.
  • Die Operationen des Quellencodeanforderungs-Empfangsteils 113, des Analyseergebnis-Suchteils 114 und des Quellencode-Beantwortungsteils 115 werden nachfolgend beschrieben.
  • 6 ist ein Flussdiagramm, das den Prozessablauf eines Programmmanagementverfahrens gemäß dem Ausführungsbeispiel 2 ausdrückt.
  • Das Programmmanagementverfahren gemäß dem Ausführungsbeispiel 2 wird mit Bezug auf 6 erläutert.
  • Das externe Endgerät 200 führt S131 und S132 anstelle von S130, der im Ausführungsbeispiel (siehe 3) erläutert wurde, durch.
  • In S131 sendet der Anwendungssammelteil 230 des externen Endgeräts 200 eine Quellencodeanforderung zum Anfordern der Quellencodes 111 der zusätzlichen Anwendung und der Quellencodes 111 der installierten Anwendung zu dem Anwendungsserver 110. Die Quellencodeanforderung enthält die Anwendungsnamen der zusätzlichen Anwendung und der installierten Anwendung, die ein neues Durchführungsprogramm 123 bilden.
  • Der Quellencodeanforderungs-Empfangsteil 113 des Anwendungsservers 110 empfängt die Quellencodeanforderung von dem externen Endgerät 200.
  • Der Analyseergebnis-Suchteil 114 des Anwendungsservers 110 erwirbt den Anwendungsnamen der zusätzlichen Anwendung und den Anwendungsnamen der installierten Anwendung von der Quellencodeanforderung. Der Analyseergebnis-Suchteil 114 bestimmt dann, ob das Analyseergebnis, das mit dem Anwendungsnamen der zusätzlichen Anwendung und dem Anwendungsnamen der installierten Anwendung korreliert, in der Analyseergebnistabelle 112 gesetzt ist oder nicht.
  • Wenn ein relevantes Analyseergebnis in der Analyseergebnistabelle 112 gesetzt ist, sendet der Quellencode-Beantwortungsteil 115 des Anwendungsservers 110 das relevante Analyseergebnis, die Quellencodes 111 der zusätzlichen Anwendung und die Quellencodes 111 der installierten Anwendung zu dem externen Endgerät 200. Dann empfängt der Anwendungssammelteil 230 des externen Endgeräts 200 das Analyseergebnis und die Quellencodes 111, die von dem Anwendungsserver 110 gesendet wurden. Es ist zu beachten, dass, wenn das Analyseergebnis anzeigt, dass ein Fehler auftreten wird, die Quellencodes 111 nicht kommuniziert zu werden brauchen.
  • Wenn ein relevantes Analyseergebnis nicht in der Analyseergebnistabelle 112 gesetzt ist, sendet der Quellencode-Beantwortungsteil 115 des Anwendungsservers 110 die Quellencodes 111 der zusätzlichen Anwendung und die Quellencodes 111 der installierten Anwendung zu dem externen Endgerät 200. Dann empfängt der Anwendungssammelteil 230 des externen Endgeräts 200 die von dem Anwendungsserver 110 gesendeten Quellencodes 111.
  • Nach S131 geht der Prozess zu S132 weiter.
  • In 5132 bestimmt der Programmanalyseteil 240 des externen Endgeräts 200, ob ein Analyseergebnis in S131 erworben wurde oder nicht.
  • Wenn ein Analyseergebnis erworben werden kann (JA), geht der Prozess zu S150 weiter.
  • Wenn ein Analyseergebnis nicht erworben werden kann (NEIN), geht der Prozess zu S140 weiter.
  • In S140 führt der Programmanalyseteil 240 des externen Endgeräts 200 eine Programmanalyse unter Verwendung der in S131 erworbenen Quellencodes durch (dieselben wie beim Ausführungsbeispiel 1).
  • Nach S140 geht der Prozess zu S150 weiter.
  • In 5150 wird der Prozess gemäß dem in S140 erhaltenen Analyseergebnis oder dem in S131 erhaltenen Analyseergebnis verzweigt.
  • Mit Ausnahme hiervon ist der Prozess derselbe wie beim Ausführungsbeispiel 1.
  • Gemäß dem Ausführungsbeispiel 2 wird eine überlappende Programmanalyse weggelassen, wodurch die Belastung des externen Endgeräts 200 verringert wird.
  • Anstelle des Anwendungsservers 110 kann das externe Endgerät 200 die Analyseergebnistabelle 112 speichern. Wenn das relevante Analyseergebnis in der Analyseergebnistabelle 112 gesetzt ist, führt das externe Endgerät 200 die Programmanalyse nicht durch (S140), sondern verwendet das in der Analyseergebnistabelle 112 gesetzte Analyseergebnis.
  • Ausführungsbeispiel 3
  • Es wird ein Ausführungsbeispiel beschrieben, in welchem der Anwendungsserver 110 eine Programmanalyse und eine Programmbildung für das externe Endgerät 200 durchführt.
  • Merkmale, die gegenüber dem Ausführungsbeispiel 1 unterschiedlich sind, werden nachfolgend hauptsächlich beschrieben. Merkmale, die nicht beschrieben werden, sind dieselben wie beim Ausführungsbeispiel 1.
  • 7 ist ein funktionelles Konfigurationsdiagramm eines Programmmanagementsystems 100 gemäß dem Ausführungsbeispiel 3.
  • Die funktionelle Konfiguration des Programmmanagementsystems 100 gemäß dem Ausführungsbeispiel 3 wird mit Bezug auf 7 beschrieben.
  • Ein Anwendungsserver 110 (ein Beispiel für eine Programmanalysevorrichtung) enthält einen Anwendungssammelteil 230, einen Programmanalyseteil 240 und einen Programmschaffungsteil 250 für das externe Endgerät 200.
  • Der Anwendungsserver 110 enthält einen Programmbereitstellungsteil 116, der ein neues Durchführungsprogramm 123 für ein externes Endgerät 200 bereitstellt.
  • Der Anwendungsserver 110 enthält einen Serverspeicherteil 119, der Daten (beispielsweise Quellencodes 111), die in dem Anwendungsserver 110 verwendet werden, speichert.
  • Das externe Endgerät 200 enthält einen Programmerwerbsteil 270, der ein neues Durchführungsprogramm 123 von dem Anwendungsserver 110 erwirbt.
  • 8 ist ein Flussdiagramm, das den Prozessablauf eines Programmmanagementverfahrens gemäß dem Ausführungsbeispiel 3 ausdrückt.
  • Das Programmmanagementverfahren gemäß dem Ausführungsbeispiel 3 wird mit Bezug auf 8 beschrieben.
  • Das externe Endgerät 200 führt S133 und S134 anstelle von S130 bis S160, die im Ausführungsbeispiel 1 (siehe 3) beschrieben sind, durch.
  • In S131 sendet der Programmerwerbsteil 270 des externen Endgeräts 200 eine Programmanforderung zum Anfordern des neuen Ausführungsprogramms 123 zu dem Anwendungsserver 110. Die Programmanforderung enthält die Anwendungsnamen der zusätzlichen Anwendung und der installierten Anwendung, die das neue Durchführungsprogramm 123 bilden.
  • Der Programmbereitstellungsteil 116 des Anwendungsservers 110 empfängt die Programmanforderung von dem externen Endgerät 200.
  • Der Anwendungssammelteil 230 des Anwendungsservers 110 sammelt die Quellencodes 111 der zusätzlichen Anwendung und die Quellencodes 111 der installierten Anwendung von dem Serverspeicherteil 119 auf der Grundlage der in der Programmanforderung enthaltenen Anwendungsnamen.
  • Unter Verwendung der gesammelten Quellencodes 111 führt der Programmanalyseteil 240 des Anwendungsservers 110 eine Programmanalyse betreffend das neue Durchführungsprogramm 123 durch (dieselbe wie im Ausführungsbeispiel 1).
  • Wenn ein Analyseergebnis dahingehend, dass ein Fehler in dem neuen Durchführungsprogramm 123 nicht auftreten wird, erhalten wird, bildet der Programmschaffungsteil 250 des Anwendungsservers 110 das neue Durchführungsprogramm 123 (dasselbe wie im Ausführungsbeispiel 1). Dann sendet der Programmbereitstellungsteil 116 des Anwendungsservers 110 das neue Durchführungsprogramm 123, und der Programmerwerbsteil 270 des externen Endgeräts 200 empfängt das neue Durchführungsprogramm 123.
  • Wenn ein Analyseergebnis dahingehend, dass ein Fehler in dem neuen Durchführungsprogramm 123 auftreten wird, erhalten wird, sendet der Programmbereitstellungsteil 116 des Anwendungsservers 110 eine Fehlernachricht, die mitteilt, dass das neue Durchführungsprogramm 123 nicht bereitgestellt werden kann, und der Programmerwerbsteil 270 des externen Endgeräts 200 empfängt die Fehlernachricht.
  • Nach S133 geht der Prozess zu S134 weiter.
  • In S134 wird der Prozess gemäß dem Verarbeitungsergebnis von S133 verzweigt.
  • Wenn das neue Durchführungsprogramm 123 erhalten werden kann (JA), geht der Prozess zu S170 weiter.
  • Wenn das neue Durchführungsprogramm 123 nicht erhalten werden kann, das heißt, wenn eine Fehlernachricht erhalten wird (NEIN), zeigt ein Annahmeteil 210 für eine zusätzliche Anwendung des externen Endgeräts 200 eine Fehlernachricht an, die mitteilt, dass eine Anwendung nicht hinzugefügt werden kann, und der Prozess des Programmmanagementverfahrens wird beendet.
  • Mit Ausnahme hiervon ist der Prozess derselbe wie beim Ausführungsbeispiel 1.
  • Gemäß dem Ausführungsbeispiel 3 können eine Programmanalyse und eine Programmbildung durch den Anwendungsserver 110 durchgeführt werden, wodurch die Last des externen Endgeräts 200 verringert wird.
  • Es ist zu beachten, dass der Prozess von einer von der Programmanalyse und der Programmbildung durch den Anwendungsserver 110 durchgeführt werden kann und der Prozess von der anderen der Programmanalyse und der Programmbildung durch das externe Endgerät 200 durchgeführt werden kann.
  • Ausführungsbeispiel 4
  • Es wird ein Ausführungsbeispiel beschrieben, in welchem die Programmanalyse betreffend das neue Durchführungsprogramm 123 auf der Grundlage der variablen Informationen über Anwendungen, die das neue Durchführungsprogramm 123 bilden, durchgeführt wird.
  • Merkmale, die gegenüber dem Ausführungsbeispiel 1 unterschiedlich sind, werden nachfolgend hauptsächlich beschrieben. Merkmale, die nicht beschrieben werden, sind dieselben wie beim Ausführungsbeispiel 1.
  • 9 ist ein Konfigurationsdiagramm von Anwendungsdateien 118 gemäß dem Ausführungsbeispiel 4.
  • Die Konfiguration der Anwendungsdateien 118 gemäß dem Ausführungsbeispiel 4 wird mit Bezug auf 9 beschrieben.
  • Ein Anwendungsserver 110 speichert die Anwendungsdatei 118 jeder Anwendung.
  • Jede Anwendungsdatei 118 enthält einen Quellencode 111 der Anwendung und strukturelle Gestaltungsinformationen 117 (ein Beispiel für variable Informationen) der Anwendung. Die strukturellen Gestaltungsinformationen 117 sind Informationen über eine in der Anwendung verwendete Variable.
  • Gemäß dem Ausführungsbeispiel 4 korrelieren die strukturellen Gestaltungsinformationen 117 mit dem Namen einer Subroutine (auch als eine Funktion bezeichnet), die in dem Quellencode 111 der Anwendung enthalten ist, dem Namen der Variablen, die in der Subroutine verwendet wird, und dem Wert des Attributs der Variablen, und zeigen diese an.
  • Bei dem Ausführungsbeispiel 4 ist zu beachten, dass der Anwendungsserver 110 die Anwendungsdateien 118 von entsprechenden Anwendungen (a), (b) und (c) speichert.
  • Der Quellencode 111 der Anwendung (a) enthält eine Subroutine (a), die eine Variable X verwendet, und die strukturellen Gestaltungsinformationen 117 der Anwendung (a) zeigen das Attribut (3) als den Attributwert der in der Subroutine (a) verwendeten Variablen X an.
  • Der Quellencode 111 der Anwendung (b) enthält eine Subroutine (b), die eine Variable X verwendet, und die strukturellen Gestaltungsinformationen 117 der Anwendung (b) zeigen das Attribut (2) als den Attributwert der in der Subroutine (b) verwendeten Variablen X an.
  • Der Quellencode 111 des Anwendung (b) enthält eine Subroutine (c), die eine Variable X verwendet, und die strukturellen Gestaltungsinformationen 117 der Anwendung (c) zeigen das Attribut (1) als den Attributwert der in der Subroutine (c) verwendeten Variable X an.
  • Beispielsweise ist die Variable X eine Zustandsvariable (auch als Flag bezeichnet) zum Prüfen einer Änderung in dem internen Zustand einer elektronischen Steuervorrichtung 121 oder einer Änderung eines in die elektronische Steuervorrichtung 121 eingegebenen Eingangssignals.
  • Das Attribut (1) bedeutet „1-Zyklus-Verzögerungs-Leseattribut (auch als Voraktualisierungs-Leseattribut bezeichnet)“, das Attribut (2) bedeutet „Schreibattribut“, und das Attribut (3) bedeutet „Normalzyklus-Leseattribut (auch als Nachaktualisierungs-Leseattribut bezeichnet)“.
  • Das 1-Zyklus-Verzögerungs-Leseattribut drückt aus, dass ein variabler Wert zu lesen ist, bevor ein Aktualisierungszyklus verstreicht. Mit anderen Worten, das 1-Zyklus-Verzögerungs-Leseattribut ist ein Attribut zum Lesen eines variablen Voraktualisierungs-Werts.
  • Das Schreibattribut drückt aus, dass ein variabler Wert zu schreiben ist. Mit anderen Worten, das Schreibattribut ist ein Attribut zum Aktualisieren des variablen Werts.
  • Das Normalzyklus-Leseattribut drückt aus, dass ein variabler Wert zu lesen ist, nachdem der Aktualisierungszyklus verstrichen ist. Mit anderen Worten, das Normalzyklus-Leseattribut ist ein Attribut zum Lesen eines variablen Nachaktualisierungs-Werts.
  • 10 ist ein funktionelles Konfigurationsdiagramm eines externen Endgeräts 200 gemäß dem Ausführungsbeispiel 4.
  • Die funktionelle Konfiguration des externen Endgeräts 200 gemäß dem Ausführungsbeispiel 4 wird mit Bezug auf 10 beschrieben.
  • Das externe Endgerät 200 enthält einen Programmanalyseteil 240, wie im Ausführungsbeispiel 1 (siehe 2) beschrieben wurde.
  • Der Programmanalyseteil 240 enthält einen Hauptroutinen-Schaffungsteil 241, einen Programmzusammensetzungsteil 242 und einen Programmanalyse-Durchführungsteil 243.
  • Der Hauptroutinen-Schaffungsteil 241 schafft den Quellencode der Hauptroutine eines neuen Durchführungsprogramms 123.
  • Der Programmzusammensetzungsteil 242 schafft den Quellencode des neuen Durchführungsprogramms 123 unter Verwendung des Quellencodes der Hauptroutine, eines Quellencodes 111 einer zusätzlichen Anwendung und eines Quellencodes 111 einer installierten Anwendung.
  • Der Programmanalyse-Durchführungsteil 243 führt eine Programmanalyse bei dem Quellencode des neuen Durchführungsprogramms 123 durch.
  • 11 ist ein Flussdiagramm, das den Prozessablauf eines Programmmanagementverfahrens gemäß dem Ausführungsbeispiel 4 ausdrückt.
  • Das Programmmanagementverfahren gemäß dem Ausführungsbeispiel 4 wird mit Bezug auf 11 beschrieben.
  • Das externe Endgerät 200 führt 5135 und 5200 anstelle von S130 und S140, die beim Ausführungsbeispiel 1 (siehe 3) beschrieben wurden, durch.
  • In 5135 sammelt ein Anwendungssammelteil 230 die Anwendungsdateien 118 (enthaltend die Quellencodes 111) der Anwendungen anstelle der Quellencodes 111 der das neue Durchführungsprogramm 123 bildenden Anwendungen.
  • Nach S135 geht der Prozess zu S200 weiter.
  • In S200 führt der Programmanalyseteil 240 eine Programmanalyse betreffend das neue Durchführungsprogramm 123 unter Verwendung der Anwendungsdateien 118 der Anwendungen anstelle der Quellencodes 111 der Anwendungen durch.
  • Mit Ausnahme hiervon ist der Prozess derselbe wie beim Ausführungsbeispiel 1.
  • 12 ist ein Flussdiagramm eines Programmanalyseprozesses (S200) gemäß dem Ausführungsbeispiel 4.
  • Der Programmanalyseprozess (S200) gemäß dem Ausführungsbeispiel 4 wird mit Bezug auf 12 beschrieben.
  • In S210 schafft der Hauptroutinen-Schaffungsteil 241 den Quellencode der Hauptroutine des neuen Durchführungsprogramms 123 auf der Grundlage der Anwendungsdateien 118 der das neue Durchführungsprogramm 123 bildenden Anwendungen.
  • Die Hauptroutine des neuen Durchführungsprogramms 123 ist eine Funktion zum Rufen der in den Anwendungen enthaltenen Subroutinen in einer zweckmäßigen Reihenfolge.
  • Die Einzelheiten des Hauptroutinen-Schaffungsprozesses (S210) werden später beschrieben.
  • Nach S210 geht der Prozess zu S220 weiter.
  • In S220 schafft der Programmzusammensetzungsteil 242 den Quellencode des neuen Durchführungsprogramms 123 unter Verwendung des Quellencodes der in S210 geschaffenen Hauptroutine und der in den Anwendungsdateien 118 enthaltenen Quellencodes 111.
  • Beispielsweise enthält der Quellencode des neuen Durchführungsprogramms 123 den Quellencode der Hauptroutine, den Quellencode 111 der zusätzlichen Anwendung und den Quellencode 111 der installierten Anwendung.
  • Nach S220 geht der Prozess zu S230 weiter.
  • In S230 führt der Programmanalyse-Durchführungsteil 243 die Programmanalyse bei dem Quellencode des in S220 geschaffenen neuen Durchführungsprogramms 123 durch.
  • Beispielsweise gibt der Programmanalyse-Durchführungsteil 243 den Quellencode des neuen Durchführungsprogramms 123 zu dem Programmanalyse-Werkzeug ein und führt das Programmanalyse-Werkzeug durch.
  • Nach S230 endet der Programmanalyseprozess (S200).
  • 13 ist ein Flussdiagramm eines Hauptroutinen-Schaffungsprozesses (S210) gemäß dem Ausführungsbeispiel 4.
  • Der Hauptroutinen-Schaffungsprozess (S210) gemäß dem Ausführungsbeispiel 4 wird mit Bezug auf 13 beschrieben.
  • In S211 wählt der Hauptroutinen-Schaffungsteil 241 eine von nicht ausgewählten Variablen aus den Anwendungsdateien 118 der das neue Durchführungsprogramm 123 bildenden Anwendungen aus.
  • Beispielsweise wählt der Hauptroutinen-Schaffungsteil 241 eine von nicht ausgewählten Variablen aus den in jeder Anwendungsdatei 118 enthaltenen strukturellen Gestaltungsinformationen 117 aus.
  • Nach S211 geht der Prozess zu S212 weiter.
  • In S212 wählt der Hauptroutinen-Schaffungsteil 241 die strukturellen Gestaltungsinformationen 117, in denen der Attributwert der in S211 ausgewählten Variablen gesetzt ist, aus den in jeder Anwendungsdatei 118 enthaltenen strukturellen Gestaltungsinformationen 117 aus.
  • Der Hauptroutinen-Schaffungsteil 241 erwirbt dann den Attributwert der in S211 ausgewählten Variablen aus den strukturellen Gestaltungsinformationen 117.
  • Wenn beispielsweise die in der Subroutine (a) der Anwendung (a) verwendete Variable X in 211 ausgewählt wird, wählt der Hauptroutinen-Schaffungsteil 241 die strukturellen Gestaltungsinformationen 117, die in der Anwendungsdatei 118 der Anwendung (a) enthalten sind, aus. Der Hauptroutinen-Schaffungsteil 241 erwirbt dann aus den strukturellen Gestaltungsinformationen 117 einen Attributwert, der mit der Subroutine (a) und der Variablen X korreliert.
  • Nach S212 geht der Prozess zu S213 weiter.
  • In S213 setzt der Hauptroutinen-Schaffungsteil 241 den Subroutinennamen, den Namen der Variablen und den Attributwert zu einer ersten strukturellen Gestaltungsdatei 291 in der Weise, dass sie miteinander korreliert sind.
  • Wenn beispielsweise die Variable X der Subroutine (a) in S211 ausgewählt wird und das Attribut (3) in S212 erworben wird, setzt der Hauptroutinen-Schaffungsteil 241 die erste strukturelle Gestaltungsdatei 291, wie in (1) von 14 illustriert ist.
  • 14 ist ein Diagramm, das ein Beispiel für die erste strukturelle Gestaltungsdatei 291 gemäß dem Ausführungsbeispiel 4 illustriert.
  • Nach S213 geht der Prozess zu S214 weiter.
  • In S214 bestimmt der Hauptroutinen-Schaffungsteil 241, ob eine in S211 nicht ausgewählte Variable existiert oder nicht.
  • Wenn eine nicht ausgewählte Variable existiert (JA), geht der Prozess zu S211 zurück.
  • Wenn eine nicht ausgewählte Variable nicht existiert (NEIN), geht der Prozess zu S215 weiter.
  • Durch Wiederholen von S211 bis 5214 wird beispielsweise die erste strukturelle Gestaltungsdatei 291, die in (2) von 14 illustriert ist, geschaffen.
  • In 5215 schafft der Hauptroutinen-Schaffungsteil 241 eine zweite strukturelle Gestaltungsdatei 292 auf der Grundlage der ersten strukturellen Gestaltungsdatei 291.
  • Die zweite strukturelle Gestaltungsdatei 292 besteht aus Daten, in denen der Name der Variablen, der Attributwert der Variablen und der Name der Subroutine, in der die Variable verwendet wird, für jede Variable miteinander korreliert sind.
  • Beispielsweise schafft der Hauptroutinen-Schaffungsteild 241 die zweite strukturelle Gestaltungsdatei 292, die in 15 illustriert ist, auf der Grundlage der ersten strukturellen Gestaltungsdatei 291, die in (2) von 14 illustriert ist.
  • 15 ist ein Diagramm, das ein Beispiel für die zweite strukturelle Gestaltungsdatei 292 gemäß dem Ausführungsbeispiel 4 illustriert.
  • Nach S215 geht der Prozess zu S216 weiter.
  • In S216 bestimmt der Hauptroutinen-Schaffungsteil 241 die Rufreihenfolge der Subroutinen auf der Grundlage der in S215 geschaffenen zweiten strukturellen Gestaltungsdatei 292.
  • Beispielsweise bestimmt der Hauptroutinen-Schaffungsteil 241 die Subroutinen-Rufreihenfolge in der Weise: eine Subroutine, in der die Variable mit dem Attribut (1) verwendet wird, eine Subroutine, in der die Variable mit dem Attribut (2) verwendet wird, und eine Subroutine, in der die Variable mit dem Attribut (3) verwendet wird.
  • Beispielsweise bestimmt der Hauptroutinen-Schaffungsteil 241 eine Subroutinen-Rufreihenfolge „(c) → (b) → (a)“ auf der Grundlage der in 15 illustrierten zweiten strukturellen Gestaltungsdatei 292.
  • Nach S16 geht der Prozess zu S217 weiter.
  • In S217 schafft der Hauptroutinen-Schaffungsteil 241 den Quellencode einer Hauptroutine zum Rufen der Subroutinen in der in S216 bestimmten Rufreihenfolge.
  • Beispielsweise schafft der Hauptroutinen-Schaffungsteil 241 den Quellencode einer Hauptroutine zum Rufen der Subroutinen (a), (b) und (c) in der Reihenfolge (c), (b) und (a).
  • Nach S217 endet der Hauptroutinen-Schaffungsprozess (S210).
  • 16 ist ein schematisches Diagramm, das ein Anwendungsprüfverfahren gemäß dem Ausführungsbeispiel 4 anzeigt.
  • Das Anwendungsprüfverfahren gemäß dem Ausführungsbeispiel 4 wird kurz mit Bezug auf 16 beschrieben.
  • Zuerst werden die Spezifikationen der Anwendung bestimmt, und eine Anwendungsspezifikation 131 wird geschaffen.
  • Die Anwendungsspezifikation 131 enthält Informationen über die in der Subroutine verwendeten Variablen als die in der Anwendung enthaltene Subroutine betreffende Informationen.
  • Dann wird der Quellencode 111 der Anwendung auf der Grundlage der Anwendungsspezifikation 131 geschaffen.
  • Eine Prüfspezifikation 132 zum Prüfen der Anwendung wird auf der Grundlage der Anwendungsspezifikation 131 geschaffen. Bei der Schaffung der Prüfspezifikation 132 werden die variablen Informationen der Subroutine aus der Anwendungsspezifikation 131 herausgezogen. Die zu dieser Zweit aus der Subroutine herausgezogenen variablen Informationen können als die strukturellen Gestaltungsinformationen 117 verwendet werden.
  • Dann wird ein Prüfprogramm 133 zum Prüfen der Anwendung auf der Grundlage der Prüfspezifikation 132 geschaffen.
  • Der Quellencode 111 (oder ein durch Kompilieren des Quellencodes 111 erhaltener Objektcode) der Anwendung wird durch Durchführen des Prüfprogramms 133 geprüft. Es ist zu beachten, dass das Prüfprogramm 133 auf einer Entwicklungsplattform 134 durchgeführt wird.
  • Wie vorstehend beschrieben ist, werden bei der Prüfung der Anwendung der Quellencode 111 und die strukturellen Gestaltungsinformationen 117 erhalten. Genauer gesagt, die Anwendungsdatei 118 kann unter Verwendung des Quellencodes 111, der erhalten wird, wenn die Anwendung geprüft wird, und der strukturellen Gestaltungsinformationen 117 geschaffen werden.
  • Gemäß dem Ausführungsbeispiel 4 kann der Quellencode der Hauptroutine des neuen Durchführungsprogramms 123 auf der Grundlage der variablen Informationen der das neue Durchführungsprogramm 123 bildenden Anwendungen geschaffen werden, und der Quellencode des gesamten neuen Durchführungsprogramms 123 kann geschaffen werden. Eine Programmanalyse betreffend das neue Durchführungsprogramm 123 kann unter Verwendung des Quellencodes des gesamten neuen Durchführungsprogramms 123 durchgeführt werden.
  • Ausführungsbeispiel 5
  • Es wird ein Ausführungsbeispiel beschrieben, in welchem eine Programmanalyse betreffend das neue Durchführungsprogramm 123 auf der Grundlage der variablen Informationen der Anwendungen, die das neue Durchführungsprogramm 123 bilden, durchgeführt wird.
  • Merkmale, die gegenüber dem Ausführungsbeispiel 4 unterschiedlich sind, werden nachfolgend hauptsächlich beschrieben. Merkmale, die nicht beschrieben werden, sind dieselben wie beim Ausführungsbeispiel 4.
  • 17 ist ein Flussdiagramm eines Programmanalyseprozesses (S200) gemäß dem Ausführungsbeispiel 5.
  • Der Programmanalyseprozess (S200) gemäß dem Ausführungsbeispiel 5 wird mit Bezug auf 17 beschrieben.
  • Der Programmanalyseprozess (S200) enthält 5231 bis S235 als einen praktischen Prozess von S230, der im Ausführungsbeispiel 4 (siehe 12) beschrieben ist.
  • In S231 führt ein Programmanalyse-Durchführungsteil 243 ein Analysewerkzeug bei dem Quellencode eines neuen Durchführungsprogramms 123 durch.
  • Wenn eine Variable mit dem Attribut (1) (1-Zyklus-Verzögerungs-Leseattribut) in dem Quellencode des neuen Durchführungsprogramms 123 enthalten ist, erfasst (alarmiert) das Analysewerkzeug die Variable mit dem Attribut (1) als einen Fehler des neuen Durchführungsprogramms 123.
  • Nach S231 geht der Prozess zu S232 weiter.
  • In 5232 bestimmt der Programmanalyse-Durchführungsteil 243, ob ein anderer Fehler als die Variable mit dem Attribut (1) erfasst wird oder nicht, auf der Grundlage des Durchführungsergebnisses des Analysewerkzeugs.
  • Wenn nur die Variable mit dem Attribut (1) als der Fehler erfasst wird, geht der Prozess zu S233 weiter.
  • Wenn ein anderer Fehler als die Variable mit dem Attribut (1) erfasst wird, geht der Prozess zu S234 weiter.
  • Wenn kein Fehler erfasst wird, geht der Prozess zu S235 weiter.
  • In 5233 bestimmt der Programmanalyse-Durchführungsteil 243, ob eine als Fehler erfasste Variable in den strukturellen Gestaltungsinformationen 117 von zumindest einer der das neue Durchführungsprogramm 123 bildenden Anwendungen als eine Variable mit dem Attribut (1) definiert wurde oder nicht.
  • Wenn eine als Fehler erfasste Variable als die Variable mit dem Attribut (1) definiert wurde (JA), geht der Prozess zu S235 weiter. In diesem Fall wäre die als ein Fehler erfasste (alarmierte) Variable eine Variable gemäß der Gestaltung und nicht ein Fehler.
  • Wenn eine als ein Fehler erfasste Variable nicht als die Variable mit dem Attribut (1) definiert wurde (NEIN), geht der Prozess zu S234 weiter. In diesem Fall wäre die als ein Fehler erfasste (alarmierte) Variable eine Variable gemäß einem Gestaltungsfehler und somit ein Fehler.
  • In 5234 bestimmt der Programmanalyse-Durchführungsteil 243, dass das neue Durchführungsprogramm 123 einen Fehler hat.
  • Nach S234 endet der Programmanalyseprozess (S200).
  • In 5235 bestimmt der Programmanalyse-Durchführungsteil 243, dass das neue Durchführungsprogramm 123 keinen Fehler hat.
  • Nach S235 endet der Programmanalyseprozess (S200).
  • Gemäß dem Ausführungsbeispiel 5 kann bestimmt werden, ob ein Fehler in dem neuen Durchführungsprogramm 123 existiert oder nicht, indem das Analyseergebnis des Analysewerkzeugs und die strukturellen Gestaltungsinformationen 117 kombiniert werden.
  • Ausführungsbeispiel 6
  • Es wird ein Ausführungsbeispiel beschrieben, in welchem eine Subroutine vorhanden ist, die mehrere Variable mit verschiedenen Attributen verwendet, und die Subroutine in dem neuen Durchführungsprogramm 123 enthalten ist.
  • Merkmale, die gegenüber dem Ausführungsbeispiel 4 oder 5 unterschiedlich sind, werden nachfolgend hauptsächlich beschrieben. Merkmale, die nicht beschrieben werden, sind dieselben wie in dem Ausführungsbeispiel 4 oder 5.
  • Ein externes Endgerät 200 enthält einen Hauptroutinen-Schaffungsteil 241, wie im Ausführungsbeispiel 4 (siehe 10) beschrieben ist.
  • Der Hauptroutinen-Schaffungsteil 241 schafft den Quellencode der Hauptroutine eines Durchführungsprogramms 123, wie im Ausführungsbeispiel 4 (siehe 13) beschrieben ist.
  • Es ist zu beachten, dass der Hauptroutinen-Schaffungsteil 241 die Reihenfolge der aufzurufenden Subroutinen in der Hauptroutine wie folgt bestimmt (S216).
  • 18 ist ein Diagramm, das ein Beispiel für eine erste strukturelle Gestaltungsdatei 291 gemäß dem Ausführungsbeispiel 6 illustriert.
  • 19 ist ein Diagramm, das ein Beispiel für eine zweite strukturelle Gestaltungsdatei 292 gemäß dem Ausführungsbeispiel 6 illustriert.
  • 20 ist ein Diagramm, das ein Beispiel für eine dritte strukturelle Gestaltungsdatei 293 gemäß dem Ausführungsbeispiel 6 illustriert.
  • Die dritte strukturelle Gestaltungsdatei 293 enthält Daten, in denen der Name der Variablen, einer oder mehrere Attributwerte und der Name der Subroutine, in der die Variable verwendet wird, für jede Variable miteinander korreliert sind.
  • Es ist zu beachten, dass die erste strukturelle Gestaltungsdatei 291, die in 18 illustriert ist, in S211 bis 5214 (siehe 13) geschaffen wurde.
  • In 5215 schafft der Hauptroutinen-Schaffungsteil 241 die in 19 illustrierte zweite strukturelle Gestaltungsdatei 292 auf der Grundlage der in 18 illustrierten ersten strukturellen Gestaltungsdatei 291.
  • Die in 19 illustrierte zweite strukturelle Gestaltungsdatei 292 drückt aus, dass eine Variable X und eine Variable Y in einer Subroutine (e) verwendet werden, und dass das Attribut (2) der Variablen X und das Attribut (3) der Variablen Y verschieden sind.
  • In 5216 (siehe 13) bestimmt der Hauptroutinen-Schaffungsteil 241, ob eine Subroutine, in der mehrere Variablen mit verschiedenen Attributen verwendet werden, vorhanden ist oder nicht, indem die zweite strukturelle Gestaltungsdatei 292 durchsucht wird.
  • In der in 19 illustrierten zweiten strukturellen Gestaltungsdatei 292 entspricht die Subroutine (e) einer Subroutine, in der mehrere Variablen mit verschiedenen Attributen verwendet werden.
  • Wenn keine entsprechende Subroutine vorhanden ist, bestimmt der Hauptroutinen-Schaffungsteil 241 die Subroutinen-Rufreihenfolge auf der Grundlage der zweiten strukturellen Gestaltungsdatei 292 (in derselben Weise wie beim Ausführungsbeispiel 4).
  • Wenn eine entsprechende Subroutine vorhanden ist, schafft der Hauptroutinen-Schaffungsteil 241 die dritte strukturelle Gestaltungsdatei 293 auf der Grundlage der zweiten strukturellen Gestaltungsdatei 292. Der Hauptroutinen-Schaffungsteil 241 bestimmt dann die Subroutinen-Rufreihenfolge auf der Grundlage der dritten strukturellen Gestaltungsdatei 293.
  • Beispielsweise schafft der Hauptroutinen-Schaffungsteil 241 die in 20 illustrierte dritte strukturelle Gestaltungsdatei 293 auf der Grundlage der in 19 illustrierten zweiten strukturellen Gestaltungsdatei 292.
  • Genauer gesagt, der Hauptroutinen-Schaffungsteil 241 schafft die dritte strukturelle Gestaltungsdatei 293 (siehe 20) durch Korrelieren der Subroutine (e) mit der Kombination „Attribut (2)/(3)“ des Attributs (2) und des Attributs (3). Dies ergibt sich daraus, dass die Subroutine (e) in der zweiten strukturellen Gestaltungsdatei 292 (siehe 19) in Korrelation mit sowohl dem Attribut (2) als auch dem Attribut (3) gesetzt ist.
  • Der Hauptroutinen-Schaffungsteil 241 bestimmt dann die Subroutinen-Rufreihenfolge als: eine Subroutine, die mit dem Attribut (1) korreliert ist, eine Subroutine, die mit dem Attribut (1)/(2) korreliert ist, eine Subroutine, die mit dem Attribut (2) korreliert ist, eine Subroutine, die mit dem Attribut (2)/(3) korreliert ist, und eine Subroutine, die mit dem Attribut (3) korreliert ist.
  • Genauer gesagt, der Hauptroutinen-Schaffungsteil 241 bestimmt eine Subroutinen-Rufreihenfolge „(c) → (d) → (b) → (e) → (a)“. Es ist zu beachten, dass die Plätze in der Reihenfolge der Subroutinen (c) und (d) gegeneinander ausgetauscht werden können, da sie beide mit dem Attribut (1) korreliert sind.
  • Gemäß dem Ausführungsbeispiel 6 kann die Subroutinen-Rufreihenfolge selbst dann bestimmt werden, wenn die Subroutine mehrere Variable mit verschiedenen Attributen verwendet.
  • Ausführungsbeispiel 7
  • Es wird ein Ausführungsbeispiel beschrieben, in welchem das Subroutinenrufen nicht theoretisch eingerichtet ist.
  • Merkmale, die unterschiedlich gegenüber dem Ausführungsbeispiel 4 oder 5 sind, werden nachfolgend hauptsächlich beschrieben. Merkmale, die nicht beschrieben werden, sind dieselben wie bei dem Ausführungsbeispiel 4 oder 5.
  • 21 ist ein Flussdiagramm eines Hauptroutinen-Schaffungsprozesses (S210) gemäß dem Ausführungsbeispiel 7.
  • Der Hauptroutinen-Schaffungsprozess (S210) gemäß dem Ausführungsbeispiel 7 wird mit Bezug auf 21 beschrieben.
  • Der Hauptroutinen-Schaffungsprozess (S210) enthält S214-2 zusätzlich zu dem beim Ausführungsbeispiel 4 (13) beschriebenen Prozess.
  • Von S211 bis 5214 schafft ein Hauptroutinen-Schaffungsteil 241 eine erste strukturelle Gestaltungsdatei 291 eines neuen Durchführungsprogramms 123.
  • Nach S214 geht der Prozess zu S214-2 weiter.
  • In S214-2 bestimmt der Hauptroutinen-Schaffungsteil 241 auf der Grundlage der ersten strukturellen Gestaltungsdatei 291, ob eine Kombination von Subroutinen mit sich widersprechenden Rufreihenfolgen vorhanden ist oder nicht.
  • Eine Kombination der Subroutinen mit sich widersprechenden Rufreihenfolgen ist eine Kombination, die zwei Subroutinen wie folgt enthält.
  • Die beiden Subroutinen verwenden eine erste Variable und eine zweite Variable.
  • Die in einer Subroutine verwendete zweite Variable hat ein Attribut, das mit einer „tieferen“ Rufreihenfolge als derjenigen des Attributs der in einer Subroutine verwendeten zweiten Variablen korreliert ist.
  • Die in der anderen Subroutine verwendete zweite Variable hat ein Attribut, das mit einer „höheren“ Rufreihenfolge als derjenigen des Attributs der in der anderen Subroutine verwendeten ersten Variablen korreliert ist.
  • Wenn eine Kombination von Subroutinen mit einander widersprechenden Rufreihenfolgen vorhanden ist, schafft der Hauptroutinen-Schaffungsteil 241 keine Hauptroutine, und der Hauptroutinen-Schaffungsprozess (S210) endet.
  • In diesem Fall führt der Programmanalyse-Durchführungsteil 243 keine Programmanalyse durch und bestimmt, dass das neue Durchführungsprogramm 123 einen Fehler hat.
  • Wenn keine Kombination von Subroutinen mit sich widersprechenden Rufreihenfolgen hat, geht der Prozess zu S215 weiter. S215 bis S217 sind dieselben wie im Ausführungsbeispiel 4.
  • 22, 23 und 24 sind Diagramme, die Beispiele für eine erste strukturelle Gestaltungsdatei 291 gemäß dem Ausführungsbeispiel 7 illustrieren.
  • Wenn eine erste strukturelle Gestaltungsdatei 291 wie in den 22 bis 24 illustriert geschaffen wird, bestimmt der Hauptroutinen-Schaffungsteil 241, dass eine Kombination von Subroutinen mit einander widersprechenden Rufreihenfolgen vorhanden ist. In der ersten strukturellen Gestaltungsdatei 291 nach den 22 bis 24 ist eine Rufreihenfolge entsprechend dem Attribut (1) an der ersten Stelle, eine Rufreihenfolge entsprechend dem Attribut (2) ist an der zweiten Stelle, und eine Rufreihenfolge entsprechend dem Attribut (3) ist an der dritten Stelle.
  • In der in 22 illustrierten ersten strukturellen Gestaltungsdatei 291 verwendet eine Subroutine (e) eine Variable Y mit dem Attribut (2) und eine Variable X mit dem Attribut (3). Das heißt, die Variable X hat das Attribut (3), das mit einer „tieferen“ Rufreihenfolge korreliert ist als das Attribut (2) der Variablen Y.
  • Eine Subroutine (f) verwendet eine Variable Y mit dem Attribut (3) und eine Variable X mit dem Attribut (2). Das heißt, die Variable X hat das Attribut (2), das mit einer „höheren“ Rufreihenfolge korreliert ist als das Attribut (3) der Variablen Y.
  • Demgemäß haben die Subroutine (e) und die Subroutine (f) einander widersprechende Rufreihenfolgen. Auch sind, wenn das Attribut der in der Subroutine (f) verwendeten Variablen X das Attribut (1) ist, die Rufreihenfolgen einander widersprechend.
  • Dasselbe gilt für die erste strukturelle Gestaltungsdatei 291, die in 23 oder 24 illustriert ist.
  • Gemäß dem Ausführungsbeispiel 7 kann der Hauptroutinen-Schaffungsteil 241 eine zweite strukturelle Gestaltungsdatei 292 auf der Grundlage der ersten strukturellen Gestaltungsdatei 291 (S215) schaffen und auf der Grundlage der zweiten strukturellen Gestaltungsdatei 292 (5214-2) bestimmen, ob eine Kombination von einander widersprechenden Subroutinen existiert oder nicht.
  • Gemäß dem Ausführungsbeispiel 7 kann eine Kombination von Subroutinen mit einander widersprechenden Rufreihenfolgen erfasst werden.
  • Die Ausführungsbeispiele sind Beispiele für das Programmmanagementsystem 100 und das externe Endgerät 200.
  • Genauer gesagt, das Programmmanagementsystem 100 und das externe Endgerät 200 brauchen nicht einen Teil der in den Ausführungsbeispielen beschriebenen Funktion oder Konfiguration zu enthalten.
  • Das Programmmanagementsystem 100 und das externe Endgerät 200 können eine Funktion oder Konfiguration, die in den Ausführungsbeispielen nicht beschrieben sind, enthalten.
  • Die Ausführungsbeispiele können teilweise oder vollständig innerhalb eines Bereichs, in welchem ein Widerspruch nicht auftritt, kombiniert werden.
  • Bezugszeichenliste
  • 100: Programmmanagementsystem; 110: Anwendungsserver; 111: Quellencode; 112: Analyseergebnistabelle; 113: Quellencodeanforderungs-Empfangsteil; 114: Analyseergebnis-Suchteil; 115: Quellencode-Beantwortungsteil; 116: Programmbereitstellungsteil; 117: strukturelle Gestaltungsinformation; 118: Anwendungsdatei; 119: Serverspeicherteil; 120: Fahrzeug; 121: elektronische Steuervorrichtung; 122: Anwendungsliste; 123: Durchführungsprogramm; 131: Anwendungsspezifikation; 132: Prüfspezifikation; 133: Prüfprogramm; 134: Entwicklungsplattform; 200: externes Endgerät; 210: Annahmeteil für zusätzliche Anwendung; 220: Anwendungslisten-Leseteil; 230: Anwendungssammlungsteil; 240: Programmanalyseteil; 241: Hauptroutinen-Schaffungsteil; 242: Programmzusammensetzungsteil; 243: Programmanalyse-Durchführungsteil; 250: Programmschaffungsteil; 260: Programmaktualisierungsteil; 270: Programmerwerbsteil; 290: Endgeräte-Speicherteil; 291: erste strukturelle Gestaltungsdatei; 292: zweite strukturelle Gestaltungsdatei; 293: dritte strukturelle Gestaltungsdatei; 901: arithmetische Vorrichtung; 902: Hilfsspeichervorrichtung; 903: Hauptspeichervorrichtung; 904: Kommunikationsvorrichtung; 905: Eingabe/Ausgabe-Vorrichtung; 909: Bus.

Claims (9)

  1. Fahrzeugexterne Programmanalysevorrichtung (200), welche aufweist: -einen Listenerwerbsteil (220) zum Erwerben einer Teilprogrammliste (122), die ein Teilprogramm anzeigt, das ein Durchführungsprogramm (123) zum Steuern eines Fahrzeugs (120) bildet, von einer elektronischen Steuervorrichtung (121) des Fahrzeugs (120); -einen Quellencode-Erwerbsteil (230) zum Erwerben eines Quellencodes (111) des Teilprogramms, das durch die von dem Listenerwerbsteil erworbene Teilprogrammliste angezeigt wird, eines Quellencodes eines neuen Teilprogramms, das zu dem Durchführungsprogramm hinzuzufügen ist, variabler Informationen betreffend eine in dem Teilprogramm verwendete Variable und variabler Informationen betreffend eine in dem neuen Teilprogramm verwendete Variable, von einem Anwendungsserver (110); -einen Programmanalyseteil (240) zum Schaffen eines Quellencodes von einem neuen Durchführungsprogramm, das das neue Teilprogramm enthält, unter Verwendung des durch den Quellencode-Erwerbsteil erworbenen Quellencodes des Teilprogramms, der durch den Quellencode-Erwerbsteil erworbenen variablen Informationen über das Teilprogramm, des durch den Quellencode-Erwerbsteil erworbenen Quellencode des neuen Teilprogramms, und der durch den Quellencode-Erwerbsteil erworbenen variablen Informationen über das neue Teilprogramm;, und zum Bestimmen, ob ein Fehler in dem neuen Durchführungsprogramm auftreten wird oder nicht, durch Durchführen eines Programmanalyse-Werkzeugs bei dem Quellencode des neuen Durchführungsprogramms wobei die variablen Informationen über das Teilprogramm eine Variable anzeigen, die in einer das Teilprogramm bildenden Subroutine zu verwenden ist, welche Variable eine unter einer Variablen mit einem Voraktualisierungs-Leseattribut zum Lesen eines variablen Voraktualisierungswerts, einer Variablen mit einem Schreibattribut zum Aktualisieren eines variablen Werts und einer Variablen mit einem Nachaktualisierungs-Leseattribut zum Lesen eines variablen Nachaktualisierungswerts ist, wobei die variablen Informationen über das neue Teilprogramm eine in einer das neue Teilprogramm bildenden Subroutine zu verwendende Variable anzeigt, welche Variable eine unter einer Variablen mit dem Voraktualisierungs-Leseattribut, einer Variablen mit dem Schreibattribut und einer Variablen mit dem Nachaktualisierungs-Leseattribut ist, und wobei der Programmanalyseteil auf der Grundlage der variablen Informationen über das Teilprogramm und der variablen Informationen über das neue Teilprogramm eine Reihenfolge bestimmt, in der die Subroutine des Teilprogramms und die Subroutine des neuen Teilprogramms aufzurufen sind, einen Quellencode einer Hauptroutine schafft, die die Subroutine des Teilprogramms und die Subroutine des neuen Teilprogramms in der bestimmten Reihenfolge aufruft, und den Quellencode des neuen Durchführungsprogramms unter Verwendung des Quellencodes der Hauptroutine, des Quellencodes des Teilprogramms und des Quellencodes des neuen Teilprogramms schafft.
  2. Programmanalysevorrichtung nach Anspruch 1, bei der die Hauptroutine die Subroutine des Teilprogramms und die Subroutine des neuen Teilprogramms in der Reihenfolge aufruft: eine Subroutine, die eine Variable mit dem Voraktualisierungs-Leseattribut verwendet; eine Subroutine, die eine Variable mit dem Schreibattribut verwendet; und eine Subroutine, die eine Variable mit dem Nachaktualisierungs-Leseattribut verwendet.
  3. Programmanalysevorrichtung nach Anspruch 1 oder 2, bei der der Programmanalyseteil eine Variable mit dem Voraktualisierungs-Leseattribut aus dem Quellencode des Durchführungsprogramms durch Durchführen des Programmanalyse-Werkzeugs herauszieht, und bestimmt, wenn die herausgezogene Variable nicht durch zumindest entweder durch die variablen Informationen des Teilprogramms oder die variablen Informationen des neuen Teilprogramms als eine Variable mit dem Voraktualisierungs-Leseattribut angezeigt wird, dass ein Fehler in dem neuen Durchführungsprogramm auftreten wird.
  4. Fahrzeugexterne Programmanalysevorrichtung (200), welche aufweist: -einen Listenerwerbsteil (220) zum Erwerben einer Teilprogrammliste (122), die ein Teilprogramm anzeigt, das ein Durchführungsprogramm (123) zum Steuern eines Fahrzeugs (120) bildet, von einer elektronischen Steuervorrichtung (121) des Fahrzeugs (120); -einen Quellencode-Erwerbsteil (230) zum Erwerben eines Quellencodes (111) des Teilprogramms, das durch die von dem Listenerwerbsteil erworbene Teilprogrammliste angezeigt wird, eines Quellencodes eines neuen Teilprogramms, das zu dem Durchführungsprogramm hinzuzufügen ist, variable Informationen betreffend eine in dem Teilprogramm verwendete Variable und variable Informationen betreffend eine in dem neuen Teilprogramm verwendete Variable, von einem Anwendungsserver (110); -einen Programmanalyseteil (240) zum Schaffen eines Quellencodes von einem neuen Durchführungsprogramm, das das neue Teilprogramm enthält, auftreten wird oder nicht, unter Verwendung des durch den Quellencode-Erwerbsteil erworbenen Quellencodes des Teilprogramms, der durch den Quellencode-Erwerbsteil erworbenen variablen Informationen über das Teilprogramm, des durch den Quellencode-Erwerbsteil erworbenen Quellencode des neuen Teilprogramms, und der durch den Quellencode-Erwerbsteil erworbenen variablen Informationen über das neue Teilprogramm;, und zum Bestimmen, ob ein Fehler in dem neuen Durchführungsprogramm auftreten wird oder nicht, durch Durchführen eines Programmanalyse-Werkzeugs bei dem Quellencode des neuen Durchführungsprogramms, wobei die variablen Informationen des Teilprogramms ein Attribut jeder in einer das Teilprogramm bildenden Subroutine verwendeten Variablen anzeigen, wobei die variablen Informationen des neuen Teilprogramms ein Attribut jeder in einer das neue Teilprogramm anzeigenden Subroutine verwendeten Variablen anzeigen, und, wenn die Subroutine des Teilprogramms und die Subroutine des neuen Teilprogramms eine erste Variable und eine zweite Variable verwenden, wobei die zweite Variable in einer Subroutine mit einem Attribut, das mit einer tieferen Rufreihenfolge als ein Attribut der ersten Variablen, die in dieser Subroutine verwendet wird, korreliert ist, verwendet wird, die zweite Variable in der anderen Subroutine mit einem Attribut, das mit einer höheren Rufreihenfolge als ein Attribut der in der anderen Subroutine verwendeten ersten Variablen korreliert ist, verwendet wird, der Programmanalyseteil bestimmt, dass ein Fehler in dem neuen Durchführungsprogramm auftreten wird ungeachtet dessen, ob der Quellencode des neuen Durchführungsprogramms geschaffen ist oder nicht.
  5. Programmanalysevorrichtung nach einem der Ansprüche 1 bis 4, bei der der Programmanalyseteil, wenn er bereits eine Bestimmung eines vergangenen Durchführungsprogramms, das durch eine Kombination von Teilprogrammen, die dieselben wie das Teilprogramm und das neue Teilprogramm sind, gebildet wird, durchgeführt hat, eine Bestimmung des neuen Durchführungsprogramms auf der Grundlage eines Bestimmungsergebnisses des vergangenen Programms durchführt.
  6. Programmanalysevorrichtung nach einem der Ansprüche 1 bis 5, welche aufweist: einen Programmschaffungsteil zum Schaffen des neuen Durchführungsprogramms, wenn der Programmanalyseteil bestimmt, dass ein Fehler in dem neuen Durchführungsprogramm nicht auftreten wird; und einen Programmaktualisierungsteil zum Aktualisieren des Durchführungsprogramms mit dem durch den Programmschaffungsteil geschaffenen neuen Durchführungsprogramm und zum Hinzufügen eines Programmnamens des neuen Teilprogramms zu der Teilprogrammliste.
  7. Programmanalyseverfahren, das eine fahrzeugexterne Programmanalysevorrichtung (200) aufweisend einen Listenerwerbsteil (220), einen Quellencode-Erwerbsteil (230) und einen Programmanalyseteil (240) verwendet, welches Programmanalyseverfahren aufweist: -Erwerben, mit dem Listenerwerbsteil, einer Teilprogrammliste (122), die ein Teilprogramm anzeigt, das ein Durchführungsprogramm (123) zum Steuern eines Fahrzeugs (120) bildet, von einer elektronischen Steuervorrichtung (121) des Fahrzeugs (120); -Erwerben, mit dem Quellencode-Erwerbsteil, eines Quellencodes (111) des durch die von dem Listenerwerbsteil erworbene Teilprogrammliste angezeigten Teilprogramms, eines Quellencodes eines zu dem Durchführungsprogramm hinzuzufügenden neuen Teilprogramms, variabler Informationen betreffend eine in dem Teilprogramm verwendete Variable und variabler Informationen betreffend eine in dem neuen Teilprogramm verwendete Variable, von einem Anwendungsserver (110); -Schaffen, mit dem Programmanalyseteil, eines Quellencodes von einem neuen Durchführungsprogramm, das das neue Teilprogramm enthält, unter Verwendung des durch den Quellencode-Erwerbsteil erworbenen Quellencodes, des Teilprogramms, der durch den Quellencode-Erwerbsteil erworbenen variablen Informationen über das Teilprogramm, des durch den Quellencode-Erwerbsteil erworbenen Quellencodes des neuen Teilprogramms, und der durch den Quellencode-Erwerbsteil erworbenen variablen Informationen über das neue Teilprogramm; und Bestimmen, mit dem Programmanalyseteil, ob ein Fehler in dem neuen Durchführungsprogramm auftreten wird oder nicht, durch Durchführen eines Programmanalyse-Werkzeugs bei dem Quellencode des neuen Durchführungsprogramms, wobei die variablen Informationen über das Teilprogramm eine Variable anzeigen, die in einer das Teilprogramm bildenden Subroutine zu verwenden ist, welche Variable eine unter einer Variablen mit einem Voraktualisierungs-Leseattribut zum Lesen eines variablen Voraktualisierungswerts, einer Variablen mit einem Schreibattribut zum Aktualisieren eines variablen Werts und einer Variablen mit einem Nachaktualisierungs-Leseattribut zum Lesen eines variablen Nachaktualisierungswerts ist, wobei die variablen Informationen über das neue Teilprogramm eine in einer das neue Teilprogramm bildenden Subroutine zu verwendende Variable anzeigt, welche Variable eine unter einer Variablen mit dem Voraktualisierungs-Leseattribut, einer Variablen mit dem Schreibattribut und einer Variablen mit dem Nachaktualisierungs-Leseattribut ist, und wobei der Programmanalyseteil auf der Grundlage der variablen Informationen über das Teilprogramm und der variablen Informationen über das neue Teilprogramm eine Reihenfolge bestimmt, in der die Subroutine des Teilprogramms und die Subroutine des neuen Teilprogramms aufzurufen sind, einen Quellencode einer Hauptroutine schafft, die die Subroutine des Teilprogramms und die Subroutine des neuen Teilprogramms in der bestimmten Reihenfolge aufruft, und den Quellencode des neuen Durchführungsprogramms unter Verwendung des Quellencodes der Hauptroutine, des Quellencodes des Teilprogramms und des Quellencodes des neuen Teilprogramms schafft.
  8. Programmanalyseverfahren, das eine fahrzeugexterne Programmanalysevorrichtung (200) aufweisend einen Listenerwerbsteil (220), einen Quellencode-Erwerbsteil (230) und einen Programmanalyseteil (240) verwendet, welches Programmanalyseverfahren aufweist: -Erwerben, mit dem Listenerwerbsteil, einer Teilprogrammliste (122), die ein Teilprogramm anzeigt, das ein Durchführungsprogramm (123) zum Steuern eines Fahrzeugs (120) bildet, von einer elektronischen Steuervorrichtung (121) des Fahrzeugs (120); -Erwerben, mit dem Quellencode-Erwerbsteil, eines Quellencodes (111) des durch die von dem Listenerwerbsteil erworbene Teilprogrammliste angezeigten Teilprogramms, eines Quellencodes eines zu dem Durchführungsprogramm hinzuzufügenden neuen Teilprogramms, variabler Informationen betreffend eine in dem Teilprogramm verwendete Variable und variabler Informationen betreffend eine in dem neuen Teilprogramm verwendete Variable, von einem Anwendungsserver (110); -Schaffen, mit dem Programmanalyseteil, eines Quellencodes von einem neuen Durchführungsprogramm, das das neue Teilprogramm enthält, unter Verwendung des durch den Quellencode-Erwerbsteil erworbenen Quellencodes, des Teilprogramms, der durch den Quellencode-Erwerbsteil erworbenen variablen Informationen über das Teilprogramm, des durch den Quellencode-Erwerbsteil erworbenen Quellencodes des neuen Teilprogramms, und der durch den Quellencode-Erwerbsteil erworbenen variablen Informationen über das neue Teilprogramm; und Bestimmen, mit dem Programmanalyseteil, ob ein Fehler in dem neuen Durchführungsprogramm auftreten wird oder nicht, durch Durchführen eines Programmanalyse-Werkzeugs bei dem Quellencode des neuen Durchführungsprogramms, wobei die variablen Informationen des Teilprogramms ein Attribut jeder in einer das Teilprogramm bildenden Subroutine verwendeten Variablen anzeigen, wobei die variablen Informationen des neuen Teilprogramms ein Attribut jeder in einer das neue Teilprogramm anzeigenden Subroutine verwendeten Variablen anzeigen, und, wenn die Subroutine des Teilprogramms und die Subroutine des neuen Teilprogramms eine erste Variable und eine zweite Variable verwenden, wobei die zweite Variable in einer Subroutine mit einem Attribut, das mit einer tieferen Rufreihenfolge als ein Attribut der ersten Variablen, die in dieser Subroutine verwendet wird, korreliert ist, verwendet wird, die zweite Variable in der anderen Subroutine mit einem Attribut, das mit einer höheren Rufreihenfolge als ein Attribut der in der anderen Subroutine verwendeten ersten Variablen korreliert ist, verwendet wird, der Programmanalyseteil bestimmt, dass ein Fehler in dem neuen Durchführungsprogramm auftreten wird ungeachtet dessen, ob der Quellencode des neuen Durchführungsprogramms geschaffen ist oder nicht.
  9. Programmanalyseprogramm zum Bewirken, dass ein Computer die Funktion der Programmanalysevorrichtung nach einem der Ansprüche 1 bis 6 hat.
DE112013007083.9T 2013-05-15 2013-05-15 Programmanalysevorrichtung, Programmanalyseverfahren und Programmanalyseprogramm Expired - Fee Related DE112013007083B4 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2013/063549 WO2014184896A1 (ja) 2013-05-15 2013-05-15 プログラム解析装置、プログラム解析方法およびプログラム解析プログラム

Publications (2)

Publication Number Publication Date
DE112013007083T5 DE112013007083T5 (de) 2016-01-28
DE112013007083B4 true DE112013007083B4 (de) 2020-02-27

Family

ID=51897912

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112013007083.9T Expired - Fee Related DE112013007083B4 (de) 2013-05-15 2013-05-15 Programmanalysevorrichtung, Programmanalyseverfahren und Programmanalyseprogramm

Country Status (5)

Country Link
US (1) US9760470B2 (de)
JP (1) JP5976209B2 (de)
CN (1) CN105210044B (de)
DE (1) DE112013007083B4 (de)
WO (1) WO2014184896A1 (de)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10127035B2 (en) * 2014-02-25 2018-11-13 Flexion Mobile Limited System and method to modify run-time behavior of an application by modification of machine-readable instructions
CN107783892A (zh) * 2016-08-25 2018-03-09 平安科技(深圳)有限公司 一种代码分析方法及终端
CN107562463B (zh) * 2017-09-11 2020-10-27 上海航天控制技术研究所 一种Ada编程语言的子程序规格化定义及调用方法
CN108009084B (zh) * 2017-11-29 2021-07-30 北京中电普华信息技术有限公司 一种混合移动应用的测试方法、装置及系统
DE112020006105T5 (de) * 2020-02-14 2022-10-13 Mitsubishi Electric Corporation Betriebssteuerungsgerät und Betriebssteuerungssystem
CN116756048B (zh) * 2023-08-16 2023-10-31 北京安普诺信息技术有限公司 一种代码分析方法、装置、计算机设备及存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010067188A (ja) * 2008-09-12 2010-03-25 Internatl Business Mach Corp <Ibm> プログラミングを支援するための情報処理装置、情報処理システム、プログラミング支援方法およびプログラム

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0444176A (ja) * 1990-06-11 1992-02-13 Mitsubishi Electric Corp ソフトウエア開発支援ツール
JPH0659871A (ja) * 1992-08-12 1994-03-04 Unisia Jecs Corp ソフトウェア開発装置
JPH07210424A (ja) 1994-01-14 1995-08-11 Toshiba Corp ソフトウェアテスト支援システム
CA2147036A1 (en) 1994-05-16 1995-11-17 Yih-Farn Robin Chen System and method for selective regression testing
JPH1063536A (ja) 1996-08-16 1998-03-06 Hitachi Software Eng Co Ltd プログラム開発支援装置及びプログラム開発支援方法及びプログラム開発支援用記憶媒体
JPH11296406A (ja) 1998-04-14 1999-10-29 Kawasaki Steel Systems R & D Corp プログラム修正支援方法
JP2000284952A (ja) * 1999-03-30 2000-10-13 Mitsubishi Electric Corp ソフトウェア生成試験連携機構
US20040025083A1 (en) * 2002-07-31 2004-02-05 Murthi Nanja Generating test code for software
JP2004272830A (ja) 2003-03-12 2004-09-30 Hitachi Ltd ソフトウェア開発支援装置
US7594219B2 (en) * 2003-07-24 2009-09-22 International Business Machines Corporation Method and apparatus for monitoring compatibility of software combinations
US20060041864A1 (en) * 2004-08-19 2006-02-23 International Business Machines Corporation Error estimation and tracking tool for testing of code
CA2504333A1 (en) * 2005-04-15 2006-10-15 Symbium Corporation Programming and development infrastructure for an autonomic element
JP4745728B2 (ja) 2005-06-21 2011-08-10 富士通株式会社 デバッグ支援のためのプログラム
JP2007172269A (ja) 2005-12-21 2007-07-05 Internatl Business Mach Corp <Ibm> プログラムのテスト方法、テスト装置
JP2007249495A (ja) 2006-03-15 2007-09-27 Nec Corp ソフトウェア検証方法、情報処理装置およびプログラム
JP2007257478A (ja) 2006-03-24 2007-10-04 Ricoh Co Ltd 情報処理装置、機能検査方法、およびプログラム
US8561024B2 (en) * 2007-01-23 2013-10-15 International Business Machines Corporation Developing software components and capability testing procedures for testing coded software component
JP2008191963A (ja) * 2007-02-06 2008-08-21 Nec Corp ソースコード検証システム、ソースコード検証方法、およびソースコード検証用プログラム
WO2010028395A1 (en) * 2008-09-08 2010-03-11 Credit Suisse Securities (Usa) Llc Apparatuses, methods and systems for providing a virtual development and deployment environment including real and synthetic data
JP5374146B2 (ja) 2008-12-26 2013-12-25 キヤノン株式会社 ソフトウエア評価方法及びそれを実現する情報処理装置
CN102023918A (zh) * 2009-09-17 2011-04-20 英业达股份有限公司 对服务器产品进行测试的方法
US8645936B2 (en) * 2009-09-30 2014-02-04 Zynga Inc. Apparatuses, methods and systems for an a API call abstractor
JP2011113296A (ja) 2009-11-26 2011-06-09 Canon Inc ソース管理プログラムにおけるコーディング規約チェックシステム
US8856724B2 (en) * 2011-06-20 2014-10-07 Ebay Inc. Systems and methods for incremental software development

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010067188A (ja) * 2008-09-12 2010-03-25 Internatl Business Mach Corp <Ibm> プログラミングを支援するための情報処理装置、情報処理システム、プログラミング支援方法およびプログラム

Also Published As

Publication number Publication date
CN105210044B (zh) 2018-11-13
JPWO2014184896A1 (ja) 2017-02-23
JP5976209B2 (ja) 2016-08-23
DE112013007083T5 (de) 2016-01-28
US20160055074A1 (en) 2016-02-25
CN105210044A (zh) 2015-12-30
US9760470B2 (en) 2017-09-12
WO2014184896A1 (ja) 2014-11-20

Similar Documents

Publication Publication Date Title
DE112013007083B4 (de) Programmanalysevorrichtung, Programmanalyseverfahren und Programmanalyseprogramm
DE69937332T2 (de) Verfahren und Gerät zur Software-Entwicklung
DE4435751B4 (de) Dateiname- und Verzeichnis- Erfassungsverfahren zur Verwendung mit einem Betriebssystem
DE112019003833T5 (de) Schwachstellenanalyse von open-source-software
DE3750515T2 (de) Verfahren zur Zugriffssteuerung einer Datenbasis.
DE69029983T2 (de) Leistungsverbesserungsgerät für auf Regeln beruhendes Expertensystem
DE112017006164T5 (de) Differenzvergleich von ausführbaren Datenflussdiagrammen
DE202014010893U1 (de) Rufwegsucher
DE3842289C2 (de) Verfahren zur Entwicklung von Programmen für ein verteiltes Datenverarbeitungssystem
EP1723513A1 (de) Verfahren zur konfiguration eines computerprogramms
DE10040987B4 (de) Verfahren und Vorrichtung für übereinstimmende Aktualisierungen von redundanten Daten in relationalen Datenbanken
EP2137615B1 (de) Verfahren zum rechnergestützten ermitteln der abhängigkeiten einer vielzahl von modulen eines technischen systems, insbesondere eines softwaresystems
DE10348591A1 (de) Automatically identifying a program error in a computer program
DE112019003876T5 (de) Softwareschwachstellengraphdatenbank
DE102020115253A1 (de) Verfahren und einrichtung zum ausführen eines applets
DE112012004331T5 (de) Verwenden der Stärke von Rückverfolgbarkeitsverknüpfungen zum Überwachen der Software-Entwicklungsintegrität
DE202015009258U1 (de) Effizientes Anmerkungssystem für verteilte Versionsverwaltungssysteme
DE112013005993T5 (de) Verfahren, Vorrichtung und computerlesbares Medium für eine optimale Bestimmung von Daten-Teilmengen
DE202017106569U1 (de) Analyse grossangelegter Datenverarbeitungsaufträge
DE112015002101T5 (de) Systeme und Verfahren für einen verbesserten Datenstrukturspeicher
DE112013000368T5 (de) Bearbeiten von Quellcode-Patches
WO2006094827A2 (de) Testvorrichtung zur überprüfung einer stapelverarbeitung
DE4135347A1 (de) Verfahren und system zum aufrufen eines verfahrens in objektorientierter sprache
DE102012210482A1 (de) Verfahren und System zum Migrieren von Geschäftsprozessinstanzen
EP3812949A1 (de) Konfigurierbarer digitaler zwilling

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R084 Declaration of willingness to licence
R016 Response to examination communication
R016 Response to examination communication
R018 Grant decision by examination section/examining division
R020 Patent grant now final
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee