Publication
Journal of Information Science and Engineering
Paper

Process and planning support for iterative porting

Abstract

We present a general framework for software maintenance activities such as porting. The framework comprises a software engineering process with tool-based planning support. The process is designed to be iterative, with individual iterations identifying and fixing distinct porting issues and building and testing of software taking place regularly through the iterations. Overall planning of the iterations is formalized as path- planning problem in an abstract Cartesian space of program versions characterized by dialect variables. An optimal solution to the problem is derived based on its translation to a restricted Integer Linear Program capturing the problem constraints as a set of simultaneous linear equations. The solution allows individual dialect vertices to be visited more than once, but not the same edge, thereby ruling out looping behaviour. Problems without solution are identified as infeasible. Reliability of the software engineering process is enhanced by the ability to characterize program testability in different parts of the Cartesian space and to guide planned migration through more testable spaces while identifying the corresponding (effort) tradeoffs. Iteration planning uses the overall plan and related post-processor support to allow user latitude in local decisions and in fine-tuning the overall plan.

Date

Publication

Journal of Information Science and Engineering

Authors

Topics

Share