Claims
- 1. A method of querying software code stored in a database, said software code comprising a plurality of units of executable program code, said method comprising:
generating a repository of artifacts of said software to be queried, each said artifact comprising one of said units of executable program code; receiving an input query; and determining which, if any, of said artifacts of said repository match said input query.
- 2. The method of claim 1, further comprising:
generating for each said artifact in said repository a description summary, said description summary comprising a set of keywords contained in said artifact.
- 3. The method of claim 2, wherein said set of keywords comprises non-local entities in said artifact.
- 4. The method of claim 2, further comprising:
generating for each keyword a description of a context of said keyword as used in its corresponding artifact.
- 5. The method of claim 2, further comprising:
generating a query summary for said query; comparing said query summary with each said artifact description summary; and generating a set of candidate artifacts based on said comparing.
- 6. The method of claim 5, further comprising:
performing a further search on said set of candidate artifacts to further limit a search result.
- 7. The method of claim 1, further comprising:
normalizing said input query.
- 8. The method of claim 1, wherein said unit of executable code used as a basis of said artifacts comprises a section of said program code for a subroutine.
- 9. A system for querying software code stored in a database, said software code comprising a plurality of units of executable program code, said system comprising:
a repository generator for generating artifacts of said software to be queried, each said artifact comprising one of said units of executable program code; an input device receiving an input query; and a comparator determining which, if any, artifacts of said repository match said input query.
- 10. The system of claim 9, further comprising:
a description summary generator for generating for each said artifact in said repository a description summary, said description summary comprising a set of keywords contained in said artifact.
- 11. The system of claim 10, wherein said set of keywords comprises non-local entities in said artifact.
- 12. The system of claim 10, further comprising:
a context generator for generating for each keyword a description of a context of said keyword as used in its corresponding artifact.
- 13. The system of claim 10, further comprising:
a query summary generator for generating a query summary for said query; a comparator for comparing said query summary with each said artifact description summary; and a memory device to store a set of candidate artifacts based on said comparing.
- 14. The system of claim 13, further comprising:
a comparator to perform a further search on said set of candidate artifacts to further limit a search result.
- 15. The system of claim 9, further comprising:
a normalizer to normalize said input query.
- 16. The system of claim 9, wherein said unit of executable code used as a basis of said artifacts comprises a section of said program code for a subroutine.
- 17. A signal-bearing medium tangibly embodying a program of machine-readable instructions executable by a digital processing apparatus to perform a method of method of querying software code stored in a database, said software code comprising a plurality of units of executable program code, said method comprising:
generating a repository of artifacts of said software to be queried, each said artifact comprising one of said units of executable program code; receiving an input query; and determining which, if any, of said artifacts of said repository match said input query.
- 18. A method of querying software comprising a plurality of units of executable program code, said method comprising:
generating keywords for each said unit of executable program code, said keywords comprising terms inherent in said executable program code, each said keyword including a programming language context of said keyword in said artifact; generating a repository of artifacts of said software, each said artifact comprising one of said units of executable program code; receiving an input query; and determining which, if any, of said keywords match said input query.
- 19. A method of querying software comprising a plurality of units of executable program code, said method comprising:
generating a vector-space repository of artifacts of said software, said vector space having a first plurality of dimensions; receiving an input query, said query having a second plurality of dimensions smaller than said first plurality; searching said repository as confined in size to contain only said second plurality of dimensions; and determining which, if any, of said artifacts match said input query in said reduced repository.
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] This Application claims priority based on provisional application, U.S. Serial No. 60/276,238, having a filing date of Mar. 15, 2001.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60276238 |
Mar 2001 |
US |