Browse Prior Art Database

Associating metadata with cross correlating code snippets

IP.com Disclosure Number: IPCOM000197783D
Publication Date: 2010-Jul-22
Document File: 2 page(s) / 48K

Publishing Venue

The IP.com Prior Art Database

Abstract

A program is disclosed with which metadata is assigned to code snippets and projects. This metadata is used to drive other tools which aim to reduce code replication and improve code reuse. The metadata is used to determine appropriate code snippets to be reused from a respository of reusable code. Automated system processes assign and analyse project and code metadata, such as license information and copyright data. This means that the program disclosed helps to filter and identify more precisely the appropriate code snippets for the user's needs as well as ensuring the license restrictions are not broken.

This text was extracted from a PDF file.
This is the abbreviated version, containing approximately 44% of the total text.

Page 1 of 2

Associating metadata with cross correlating code snippets

A program is disclosed that takes into account other variables (such as a license) when deciding whether code is suitable for reuse, allowing for efficiency and for common code "types" (in the sense of how code decks are packaged and distributed) to be managed together.

    Code repetition is a problem that reduces efficiency costing both time and therefore money to a company. Current known solutions to this problem are constant communication between team members to alert each other as to what you are writing so others are aware if they can reuse anything. Another known solution is the investigation by a developer before they write the method - they will manually take a look for anything which could do the job prior to them writing it from scratch. A number of disclosed applications describe processes for determining suitable reusable code snippets by studying name matching. A problem with this method is that it only takes into account a method and variable names when attempting to compare methods. This means that other key pieces of information is omitted from a search, possibly introducing code into project that shouldn't have been introduced for a number of reasons, the most important of which would be legal restrictions due to licenses. The introduction of such code could contaminate a project, delaying its release or possibly introduce serious legal issues if such code was discovered in a product after its release.

    The program disclosed takes into account other variables such as any license when deciding whether code is suitable for reuse.

    The process disclosed can be split into two steps. This first part is to create metadata and attach it to the method to be submitted to the repository databank. This information would be supplied by the developer prior to the submission of their method to the bank of reusable code. Some metadata should be mandatory, such as license information, whilst other information could have sensible defaults provided
(e.g company name for the author). Essentially, this metadata allows the developer to meaningfully describe the code using a small amount of data or keywords. The second part is using the metadata to restrict the methods and functions that are reported when another developer wishes to search reusable code. Acting as filters, the metadata is used to restrict eg, the list of methods that a developer can select from when attempt to reuse code.

    The metadata would additionally be attached to the projects from which a method comes from, introducing a level of hierarchy. For example, a project could have license metadata attached to it, meaning that any methods submitted to the bank from that project would also have the license metadata associated with it. Additionally, when searching the bank to reuse code, the program's algorithm can automatically hide code that did not match the license of the project or other compatible licenses. This wou...