Researchers develops Java programming tools employing human-centered design techniques

June 17, 2009

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 — www.cs.cmu.edu/Jadeite and 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 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 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.

Source: Carnegie Mellon University (news : web)


print this article email this article download pdf blog this article bookmark this article     Stumble it Digg this share on Facebook retweet share on Reddit add to delicious
Rate this story - 4.5 /5 (2 votes)


June 17, 2009 all stories

Comments: 0

4.5 /5 (2 votes)
  • Stumble this up

  • Digg this

  • share this

  • hide
  • Related Stories

  • Software 'Chipper' Speeds Debugging
    created Oct 01, 2007 | popularity not rated yet | comments 0
  • New tool improves productivity, quality when translating software
    created Feb 24, 2009 | popularity not rated yet | comments 0
  • Researchers develop new tool for writing code
    created Apr 02, 2005 | popularity not rated yet | comments 0
  • Software Tool Plugs Security Leaks
    created Aug 01, 2007 | popularity not rated yet | comments 0
  • Briefs: Yahoo! launches four new Web services
    created Mar 07, 2006 | popularity not rated yet | comments 0



  • hide
  • Relevant PhysicsForums posts

  • Is the I-beam still favored overall?
    created 6 hours ago
  • Relative pressure & specific volume
    created 13 hours ago
  • Making 4'x8' sign inkjet printer - need nozzles - help?
    created Nov 06, 2009
  • Calculating Velocity
    created Nov 06, 2009
  • shear stress distribution in triangular steel profile
    created Nov 06, 2009
  • Polygonal mirror reflection beam Problem
    created Nov 05, 2009
  • More from Physics Forums - General Engineering

Other News

A system of space solar power system (SSPS)

Japan eyes solar station in space as new energy source

Technology / Energy

created 2 hours ago | popularity 5 / 5 (3) | comments 3

It may sound like a sci-fi vision, but Japan's space agency is dead serious: by 2030 it wants to collect solar power in space and zap it down to Earth, using laser beams or microwaves.


Software cos. eye key patent case in Supreme Court (AP)

Software cos. eye key patent case in Supreme Court

Technology / Business

created 3 hours ago | popularity 5 / 5 (1) | comments 0

(AP) -- With the technology industry looking on, the Supreme Court on Monday will explore what types of inventions should be eligible for a patent in a pivotal case that could undermine such legal protections ...


Campaigners are stepping up efforts to curb online tracking

Advertisers face resistance to on-line tracking

Technology / Internet

created 1hour ago | popularity not rated yet | comments 0

Campaigners are stepping up efforts to curb online tracking of Internet use by firms that deliver adverts tailored to the specific interests of consumers, as polls reveal widespread unease with the practice.


Microsoft websites were the most visited in September

Microsoft websites top spots in September: comScore

Technology / Internet

created 21 hours ago | popularity 2 / 5 (4) | comments 0

Industry tracker comScore on Friday released a study showing that Internet users in September spent more time at Microsoft websites that at any other online properties.


Hacker illustration

Brazil blackouts result of cyber hacking: report

Technology / Internet

created 21 hours ago | popularity 3 / 5 (3) | comments 0

Massive power outages in Brazil in 2005 and 2007 that impacted millions were caused by cyber hackers attacking control systems, the US television network CBS said Sunday.