| Previous | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 |
¡@
Pradeep Varma
IBM India Research Laboratory
Block 1, Indian Institute of Technology
Hauz Khas, New Delhi 110016, India
E-mail: pvarma@in.ibm.com
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.
Received July 1, 2005; accepted November 24, 2005.
Communicated by Sung Shin.
*The preliminary version of this paper was presented at the Software Engineering Track of the ACM Symposium
on Applied Computing, Santa Fe, New Mexico, March 13-17, 2005.