Software configuration—an NP-complete problem

  • Authors:
  • Jerry Calabough

  • Affiliations:
  • Technical Services Division, Unisys Corporation

  • Venue:
  • SIGCPR '87 Proceedings of the conference on The 1987 ACM SIGBDP-SIGCPR Conference
  • Year:
  • 1987

Quantified Score

Hi-index 0.00

Visualization

Abstract

Configuration Control File (CCF) production is very complex, thousands of code packages, data blocks and parameter values must be linked under many constraints including:Common data and code less than 8192 bytesMaximum of 5 registers per taskAll systems data must have common capabilitiesNP-complete problems are commonly known as knapsack or bin packing problems. They have no known algorithm which solves them in a time period bounded by a polynomial function of the number of inputs. Rules-of-thumb, or heuristics are the only practical approach to their solution. CCF segmentation to meet constraints discussed above is an example of Expert System technology applied to a classic NP-complete problem.Heuristics developed with traditional data processing techniques initially performed satisfactorily. However, as program development proceeded, Central Processor Unit (CPU) time for CCF production became a concern, both from a commitment of CPU resources and lost productivity. Traditional techniques failed to improve the heuristics and the project began to slip. Projected time to produce the CCF for a fully developed program was totally unacceptable, jeopardizing the project.Clearly another approach was required. Because existing heuristics were based on a concept of rules, research indicated an expert system using rules and a knowledge based approach had the highest probability of success.The paper emphasizes the development process of a knowledge based system from the perspective of the responsible project manager. The methodology is also applicable to common business problems.