• Publications
  • Influence
Portfolio: finding relevant functions and their usage
Different studies show that programmers are more interested in finding definitions of functions and their uses than variables, statements, or arbitrary code fragments [30, 29, 31]. Therefore,Expand
  • 224
  • 18
Detecting similar software applications
Although popular text search engines allow users to retrieve similar web pages, source code search engines do not have this feature. Detecting similar applications is a notoriously difficult problem,Expand
  • 114
  • 17
Maintaining and evolving GUI-directed test scripts
Since manual black-box testing of GUI-based APplications (GAPs) is tedious and laborious, test engineers create test scripts to automate the testing process. These test scripts interact with GAPs byExpand
  • 138
  • 8
On using machine learning to automatically classify software applications into domain categories
Software repositories hold applications that are often categorized to improve the effectiveness of various maintenance tasks. Properly categorized applications allow stakeholders to identifyExpand
  • 53
  • 8
CarFast: achieving higher statement coverage faster
Test coverage is an important metric of software quality, since it indicates thoroughness of testing. In industry, test coverage is often measured as statement coverage. A fundamental problem ofExpand
  • 60
  • 7
Testing software in age of data privacy: a balancing act
Database-centric applications (DCAs) are common in enterprise computing, and they use nontrivial databases. Testing of DCAs is increasingly outsourced to test centers in order to achieve lower costExpand
  • 29
  • 7
Exemplar: A Source Code Search Engine for Finding Highly Relevant Applications
A fundamental problem of finding software applications that are highly relevant to development tasks is the mismatch between the high-level intent reflected in the descriptions of these tasks andExpand
  • 97
  • 6
An empirical investigation into a large-scale Java open source code repository
Getting insight into different aspects of source code artifacts is increasingly important -- yet there is little empirical research using large bodies of source code, and subsequently there are notExpand
  • 91
  • 6
Automatically finding performance problems with feedback-directed learning software testing
A goal of performance testing is to find situations when applications unexpectedly exhibit worsened characteristics for certain combinations of input values. A fundamental question of performanceExpand
  • 93
  • 5
Categorizing software applications for maintenance
Software repositories hold applications that are often categorized to improve the effectiveness of various maintenance tasks. Properly categorized applications allow stakeholders to identifyExpand
  • 50
  • 5