Software Evolution and Interleaving

Principal Investigators: Spencer Rugaber and Linda Wills

Grant administered by NSF (CCR-9708913)

Supported by DARPA/ITO EDCS Program (Contract # F501)

OBJECTIVE:

Complex, evolved software is typically constructed from a tight-knit composition of computational structures, called strands, each of which is responsible for achieving some requirement, goal, or subset of system functionality. This project investigates the interleaving of program strands. The goals are to provide a rigorous characterization of stylistic ways in which strands compose and to design a representation in which to express the composition.

APPROACH:

To form a rigorous characterization of interleaving, case studies of existing software is being performed in which interleaving is investigated and compositional mechanisms are being classified. Existing formalisms for representing strands and their relationships are being surveyed and extended to create a new formalism that expresses strand composition. The understanding gained will suggest what types of documentation, programming language features, and design abstractions are needed to enable software engineers to make interleaving decisions explicit. This will alert future maintainers of interleaved software to the fact that the interleaving was intentionally introduced and mitigate problems with understanding it.

RELATED PUBLICATIONS OF INTEREST:

RELATED PROJECTS:

FOR MORE INFORMATION, PLEASE CONTACT:

Spencer Rugaber (spencer@cc.gatech.edu) 404-894-8450

Linda Wills (linda.wills@ece.gatech.edu) 404-894-4565