Reverse Software Engineering of Concurrent Real Time Programs

Loading...
Thumbnail Image
Degree type
Graduate group
Discipline
Subject
Funder
Grant number
License
Copyright date
Distributor
Related resources
Author
Song, Mitchell C
Contributor
Abstract

This paper presents an algorithm for translating concurrent procedural language programs into nonprocedural, mathematical language programs, called specifications. The goal is to achieve reuse of old existing programs in developing new systems, through having them explained automatically and facilitating their modification. Mathematical languages are widely believed to be superior to procedural languages. Unlike procedural languages, mathematical languages do not have "side effects" and are oblivious to computer concepts. Thus mathematical languages free the user of having to "think like a computer" when developing or modifying a program. Its mathematical semantics make proving software correctness easier and improves software reliability. The specification can then be used to generate automatically highly efficient procedural language programs for computer system. The translation algorithm centers around the difference in the meaning of variables in procedural and mathematical languages. In a procedural language a variable may be assigned many values. In a mathematical language, however, a variable may be assigned only one value. The translation algorithm focuses on renaming variables in a procedural language program so that each variable is assigned only one value. This paper also presents a methodology for proving specification correctness. The idea is based on generating scenarios that define values of variable for an applicable situation and using this to prove the specification satisfy a given requirement. This is contrasted with use of temporal logic for proving correctness of concurrent programs.

Advisor
Date of degree
1989-12-01
Date Range for Data Collection (Start Date)
Date Range for Data Collection (End Date)
Digital Object Identifier
Series name and number
Volume number
Issue number
Publisher
Publisher DOI
Journal Issue
Comments
University of Pennsylvania Department of Computer and Information Science Technical Report No. MS-CIS-89-81.
Recommended citation