Reverse Software Engineering of Concurrent Real Time Programs

Loading...
Thumbnail Image

Embargo Date

Degree type

Graduate group

Discipline

Subject

Funder

Grant number

License

Copyright date

Distributor

Related resources

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 Issues

Comments

University of Pennsylvania Department of Computer and Information Science Technical Report No. MS-CIS-89-81.

Recommended citation