It is hard to ignore the fact that seeing is believing. Software tools are a great way to present innovative research ideas to professional developers. I have presented the following set of tools in formal research demonstrations. To learn more, simply follow the links provided below.

FEMIR (Framework Extension Point Miner and Recommender)

The default behavior of frameworks can be customized to adapt application specific requirements. However, understanding customization choices and locating relevant examples are both difficult tasks. utilizes partial program analysis and graph mining technique to detect, group, and rank framework extension examples. The tool extends existing code completion infrastructure to inform developers about customization choices, enabling them to browse through extension points of a framework, and frequent usages of each point in terms of code examples.

PARC (Parameter Recommender)

Most work on code completion focus on the problem of method call completion and leave the task of completing method parameters on the developers. However, method parameter completion is also a non-trivial task. Parc is an Eclipse plugin that supports automatic completion of method parameters.

CSCC (Context Sensitive Code Completion)

Modern integrated development environments, like Eclipse, support automatic completion of API method calls. This frees developers from remembering every detail of  APIs. However, the support is still limited. CSCC is a simple, efficient context-sensitive code completion tool, available as an Eclipse plugin. It leverages previous code examples to support automatic completion of method calls.

LHDiff (Tracking Source Code Lines)

LHDiff is a language-independent technique for tracking source code lines across versions. The tool is developed in Java language and is now available to download. To learn more on LHDiff, please visit the above link. The tool can be easily converted to other languages. If you are interested in porting the tool in other languages, please let me know.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s