WP Leader: Unisannio
The objective of the WP4 is to extract from software repositories information about software artifacts to be used for supporting their retrieval in the context of a code search activity.
The code search can be performed at different levels of granularity, i.e., shall be able to return entire packages/libraries able to fulfil a given piece of functionality, a group of classes (e.g., forming a design pattern that can handle a specific feature) or a source code file/class, but also a small source code snippet/fragment that can be relevant for a specific task, e.g. a snippet useful to handle a shared resource synchronization, or to traverse a data structure.
To allow for code/component retrieval in different contexts and at different levels of granularity, it must be necessary to extract facts from the code lexicon, from execution traces, from the component/class cluster structure, from the source code itself and, last but not least, extract and process the source code licensing information that will be used in WP3 to determine whether the discovered artifact is compliant from a legal point of view. In addition, it is necessary to extract dependencies, to identify requirements necessary to be fulfilled when one wants to use a discovered code artifact, and to determine whether the dependencies would create legal issues, e.g., because of interconnection with artifacts that are not compatible-from a licensing point of view-with the system.