SDA SE Wiki

Software Engineering for Smart Data Analytics & Smart Data Analytics for Software Engineering

User Tools

Site Tools



Exploring Names

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.

Term Cloud

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.

Term cloud showing terms used in identifiers of the package junit.framework (Version 4.7)

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)

Term Dependency (Experimental View)

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.

Term dependency view



1)
Precisely: The size is proportional to tf-idf, i.e. the product of term frequency and the inverse document frequency.
research/cultivate/tutorial_exploring_concepts.txt · Last modified: 2018/05/09 01:59 (external edit)

SEWiki, © 2024