Automated Formal Static Analysis and Retrieval of Source Code - JKU
Automated Formal Static Analysis and Retrieval of Source Code - JKU
Automated Formal Static Analysis and Retrieval of Source Code - JKU
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
3.1. BACKGROUND 29<br />
Figure 3.1: <strong>Source</strong> <strong>Code</strong> <strong>Retrieval</strong> Model<br />
• different users can have different underst<strong>and</strong>ings <strong>of</strong> the same problem;<br />
• the query language used by the users might be not too expressive for their needs;<br />
• information can be lost during the indexing process.<br />
3.1.2.1 History <strong>and</strong> State <strong>of</strong> the Art<br />
The work from the early 90’s proposed classification schemes for the classification <strong>and</strong> storage <strong>of</strong><br />
the source code.<br />
A classification scheme provides a network <strong>of</strong> predefined relationships, thus introducing some<br />
semantic information absent in free-text analysis.<br />
Such classification schemes are: facet-based ([PD91]), sampling behavior ([PP93]), automatic<br />
retrieval ([MBK91]), user adaptable ([Hen97]), etc.<br />
3.1.2.2 Facet-Based Scheme<br />
The idea behind this scheme ([PD91]) is that the source code objects can be classified (faceted)<br />
in a limited number, <strong>and</strong> retrieved using a keyword associated to each facet can be attached a<br />
keyword (Table 3.1).<br />
Callable Object Type Container<br />
Method Enum File<br />
Field Package<br />
Interface<br />
Class<br />
Table 3.1: A Simplified Faceted Scheme for Java Programming Language Objects