Deriving program physical structures using bond energy algorithm

Years of programming experience have convinced us that the physical structure of a program, such as the locations of the program's components, their calls, and the depth of nested calls, is important in determining how effective and efficient the program can be debugged and maintained. This paper introduces a new class of physical metrics, known as locality metric, that measures the relative positions of components in a program listing and reveals useful attributes that may affect programmer productivity. The placement of the components can be determined by a simple algorithm that is of polynomial time complexity. The paper compares the performance of the algorithm with that of an exhaustive search approach and also reports various characteristics of the locality metric based on the collected statistical data. The performance shows the feasibility of the algorithm and closeness of its output to the optimal result found by the exhaustive approach.