Carnegie Mellon develops Java programming tools

Carnegie Mellon develops Java programming tools

Researchers at Carnegie Mellon University's School of Computer
Science have developed two new tools to help computer programmers
select from among thousands of options within the application
programming interfaces (APIs) that are used to write applications in
Java, today's most popular programming language.

The tools -- Jadeite (www.cs.cmu.edu/~jadeite) and Apatite
(www.cs.cmu.edu/~apatite) -- take advantage of human-centered design
techniques to significantly reduce the time and guesswork associated
with finding the right classes and methods of APIs.

APIs are standardized methods that a Java program uses to ask the
computer's operating system or another program to do something, such
as opening a file or sending an email. Choosing APIs for
accomplishing a given task is at the heart of Java programming, but
is not intuitive, said Brad A. Myers, professor of human-computer
interaction. With more than 35,000 methods listed in 4,100 classes in
the current Javadoc library of APIs -- and more being added in every
new version -- not even the savviest developer can hope to be
familiar with them all.

"This is a fundamental problem for all programmers, whether they are
novices, professionals or the growing number of end-users who just
need to modify a Web page," Myers said. "It's possible to design APIs
so that they are easier to use, but that still leaves thousands of
existing APIs that are hard to use but essential for Java
programming. Jadeite and Apatite help programmers find what they need
among those existing APIs."

Jadeite (Java Documentation with Extra Information Tacked-on for
Emphasis) improves usability by enhancing the existing Javadoc
documentation. For instance, Jadeite displays the names of API
classes in font sizes that correspond with how heavily used they are
based on Google searches, helping programmers navigate past
little-used classes. The commonly used "PrintWriter" is in large,
prominent letters, while the lesser used "PrintEvent" is in smaller
type.

Jadeite also uses crowd-sourcing to compensate for the fact that an
API sometimes doesn't include methods that programmers expect. For
instance, the Message and MimeMessage classes don't include a method
for sending an email message. So Jadeite allows users to put
so-called placeholders for these expected classes and methods within
the alphabetical listing of APIs. Users can edit the placeholder to
guide programmers to the actual location of the desired method,
explain why a desired method is not part of the API, or note that a
desired functionality is impossible.

Finding the way to create certain types of objects, such as SSL
sockets that enable secure Internet communications, may not be
obvious to programmers the first time they encounter these objects.
In these cases, Jadeite includes examples of the most popular code
used by programmers to create these objects, allowing the user to
learn from the examples.

User studies showed that programmers could perform common tasks about
three times faster with Jadeite than with the standard Javadoc
documentation.

Apatite (Associative Perusal of APIs That Identifies Targets Easily)
takes a different approach, allowing programmers to browse APIs by
association, seeing which packages, classes and methods tend to go
with each other. It also uses statistics about the popularity of each
item to provide weighted views of the most relevant items, listing
them in larger fonts.

Both Jadeite and Apatite remain research tools, Myers said, but are
available for public use. Broader use of the tools will enhance the
crowd-sourcing aspects of the tools, while giving the researchers
important feedback about how the tools can be improved.

Research by Jeffrey Stylos, who was awarded a Ph.D. in computer
science this spring, underlies both Jadeite and Apatite. Besides
Myers, research programmer Andrew Faulring and undergraduate computer
science student Zizhuang Yang contributed to the development of
Jadeite and computer science undergraduate Daniel S. Eisenberg led
the implementation of Apatite. Eisenberg's work on Apatite earned
first place in the Yahoo! Undergraduate Research Awards competition
at Carnegie Mellon this spring.

Jadeite and Apatite are part of the Natural Programming Project,
www.cs.cmu.edu/~NatProg/, an initiative within Carnegie Mellon's
Human-Computer Interaction Institute that is investigating how to
make programming easier. Both tools have been funded by grants from
the National Science Foundation and software giant SAP AG Inc.

 
AAPL
$282.52
Apple Inc.
-1.23
MSFT
$24.38
Microsoft Corpora
-0.11
GOOG
$525.62
Google Inc.
-0.17
MacTech Search:
Community Search:

Introducing the App Hall of Fame!
App discoverability continues to be a real issue. With the fast churn of apps in the App Store, an app has only a few weeks of promotional life in it before it‚Äôs largely forgotten. There are a few things developers can do to fix that, but those... | Read more »
Gobliiins Are Coming
In the midst of the huge Q4 launch schedule, the cult classic, Gobliiins, as well as the rest of the trilogy, are being ported to the iPhone in all of their original glory. The Goblins trilogy was a quirky Atari/Amiga game series from the early 90‚Äôs... | Read more »
myPhoneDesktop – Chrome to iPhone Extens...
Anyone who has used myPhoneDesktop knows that it is a fantastic tool for streamlining your onscreen workflow. Instead of having to type line after line into your phone directly, you can use myPhoneDesktop to type from your computer directly into... | Read more »
Classes Review
Developer: Dustlab Price: $0.99 Version Reviewed: 2.4.7 iPhone Integration Rating: 3 out of 5 stars User Interface Rating: 4 out of 5 stars Re-use / Replay Value Rating: 3 out of 5 stars Overall Rating: 3.33 out of 5 stars | Read more »
AutoVerbal Talking Soundboard Pro helps...
Being able to speak and communicate with others is something that many of us take for granted. It‚Äôs not so easy for many folks though, in particular for individuals with autism spectrum disorders, as well as those who have suffered various brain... | Read more »
Pocketbooth Review
Developer: Project Box Price: $0.99 Version Reviewed: 1.0 iPhone Integration Rating: 4 out of 5 stars User Interface Rating: 4 out of 5 stars Re-use / Replay Value Rating: 4.5 out of 5 stars Overall Rating: 4.17 out of 5 stars | Read more »
Get Your Roast Right With ‘Time To Roast...
Roasting meat, in the cooking world, is about as simple as it gets. The greatest roast recipe I‚Äôve ever found is from Michael Ruhlman‚Äôs website, with the recipe titled, ‚ÄúThe World‚Äôs Most Difficult Roasted Chicken Recipe.‚Äù | Read more »

All contents are Copyright 1984-2010 by Xplain Corporation. All rights reserved. Theme designed by Icreon.
Greetings, and welcome to the new MacTech web site! Our home page is designed to be your Industry Dashboard -- so you can have a snapshot of all that's relevant in the industry in one easy location. Many readers tell us that because the information is updated so frequently, they are now checking the site multiple times a day. Here's a quick run down of the features on the new web site, which can be subtle. We truly hope you register so that we can keep you up to date about new features as they are implemented. And, please use the BETA button in the top right to provide us any feedback, suggestions or bugs. We love to hear from you.