Software reuse is widely believed to be a promising means for improving software productivity and reliability. However, reuse is only effective if it is easier to locate/retrieve (and appropriately modify) a reusable component than to write it from scratch. Searching for effective method for retrieving software components becomes increasingly important. In this thesis, we explore a practical method to retrieve software components by executing them on test data generated by the system and determining the components to be retrieved by verifying the results. A prototype system was designed and developed based on this approach. |