- The Prototype
When creating software developers have a conceptual model of this software in mind. Some of the concepts get directly expressed e.g. as program elements like packages, classes or methods. A well chosen identifier or name for these program elements evokes the same or at least a similar concept in other developers minds. In the future we hope to assist developers in consistent naming.
The views we are currently offering are meant to help the developer to understand the concepts in the code that can't be identified with exactly one program element because they are either larger or smaller as these elements. We split the identifier into the terms they are build of and display them in accordance to their importance. This should help the developer to understand the overall idea of a method, class or package better by seeing together the terms that are relevant for them. On the other side a developer can review in which contexts a certain term appears to get a better intuitive understanding of if.
The cloud view shows you the terms that are used within in the package, class, or method you selected in the package explorer. The more important a term is, the bigger the font the view uses.
Green color is used for terms that are “introduced” in the specific Java document, see [Jan Nonnen, Daniel Speicher, Paul Imhoff. Locating the Meaning of Terms in Source Code - Research on ”Term Introduction”. 18th Working Conference on Reverse Engineering(WCRE), 2011] for details.
You can control which terms are considered important:
|Tool buttons for the term cloud view
|Term Frequency: Select this button if you consider terms important that are used very often in this “document” (package, class, method)[Christopher Manning, Hinrich Schütze, Prabhakar Raghavan. Introduction to Information Retrieval . Cambridge University Press, 2008]
|Inverse Document Frequency: Select this button if you consider terms important that are seldom used in the other “documents”[Christopher Manning, Hinrich Schütze, Prabhakar Raghavan. Introduction to Information Retrieval . Cambridge University Press, 2008].
|Select both buttons if you want to apply both criteria at the same time.1)
The term dependency view shows packages and the “term dependency” between them. In each package the terms are divided into those terms which are introduced in the package (colored blue) and all other terms. Using an introduced term, implicates a dependency to the package which introduces the term. Also the font size of the terms relate to the termfrequency in the package.