Sukanya Ratanotayanon

dblp:18/473 · DBLP profile ↗
← Back
7ranked-venue papers
4as first author
0since 2021 · last 2012
—ORCID · none

Domains — the database's venue-derived domains; a paper can count in several

Software engineering, systems software and programming languages · 6 · 4 first-authorArtificial intelligence and machine learning · 1 · 1 first-authorHuman-computer interaction and ubiquitous computing · 1

Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.

Software engineering, system software, and programming languages
2 papers
Software maintenance and evolution · 62% Requirements engineering and software design · 22% Empirical software engineering · 17%
Databases, data mining, and information retrieval
1 paper
Information retrieval · 100%

Topics — the 9 heaviest of 9, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Requirements engineering and software design › software architecture
component-based software engineering
0.112012
Software reuse through methodical component reuse and amethodical snippet remixing · CSCW 2012
Software maintenance and evolution
software reuse
0.112012
Software reuse through methodical component reuse and amethodical snippet remixing · CSCW 2012
Information retrieval › document retrieval › domain-specific retrieval
code search
0.112011
How Well Do Search Engines Support Code Retrieval on the Web? · ACM Trans. Softw. Eng. Methodol. 2011
Information retrieval
retrieval models
0.112011
How Well Do Search Engines Support Code Retrieval on the Web? · ACM Trans. Softw. Eng. Methodol. 2011
Software maintenance and evolution
feature location
0.112010
Using transitive changesets to support feature location · ASE 2010
Empirical software engineering
mining software repositories
0.112010
Using transitive changesets to support feature location · ASE 2010
Software maintenance and evolution
program comprehension
0.112010
Using transitive changesets to support feature location · ASE 2010
Software maintenance and evolution
code search
0.012012
Software reuse through methodical component reuse and amethodical snippet remixing · CSCW 2012
Information retrieval
search engines
0.012011
How Well Do Search Engines Support Code Retrieval on the Web? · ACM Trans. Softw. Eng. Methodol. 2011

Methods — techniques the papers use, named apart from their topics

qualitative study · 0.1deconstructionist analysis · 0.1user study · 0.1relevance judgment · 0.1transitive changesets · 0.1
YearPublicationVenuePosition
2012 Software reuse through methodical component reuse and amethodical snippet remixing
abstract
Every method for developing software is a prescriptive model. Applying a deconstructionist analysis to methods reveals that there are two texts, or sets of assumptions and ideals: a set that is privileged by the method and a second set that is left out, or marginalized by the method. We apply this analytical lens to software reuse, a technique in software development that seeks to expedite one's own project by using programming artifacts created by others. By analyzing the methods prescribed by Component-Based Software Engineering (CBSE), we arrive at two texts: Methodical CBSE and Amethodical Remixing. Empirical data from four studies on code search on the web draws attention to four key points of tension: status of component boundaries; provenance of source code; planning and process; and evaluation criteria for candidate code. We conclude the paper with a discussion of the implications of this work for the limits of methods, structure of organizations that reuse software, and the design of search engines for source code.
Kavita Philip, Medha Umarji, Megha Agarwala, Susan Elliott Sim, Rosalva E. Gallardo-Valencia, Cristina V. Lopes, Sukanya Ratanotayanon
CSCW7
2011 How Well Do Search Engines Support Code Retrieval on the Web?
abstract
Software developers search the Web for various kinds of source code for diverse reasons. In a previous study, we found that searches varied along two dimensions: the size of the search target (e.g., block, subsystem, or system) and the motivation for the search (e.g., reference example or as-is reuse). Would each of these kinds of searches require different search technologies? To answer this question, we conducted an experiment with 36 participants to evaluate three diverse approaches (general purpose information retrieval, source code search, and component reuse), as represented by five Web sites (Google, Koders, Krugle, Google Code Search, and SourceForge). The independent variables were search engine, size of search target, and motivation for search. The dependent variable was the participants judgement of the relevance of the first ten hits. We found that it was easier to find reference examples than components for as-is reuse and that participants obtained the best results using a general-purpose information retrieval site. However, we also found an interaction effect: code-specific search engines worked better in searches for subsystems, but Google worked better on searches for blocks. These results can be used to guide the creation of new tools for retrieving source code from the Web.
Susan Elliott Sim, Medha Umarji, Sukanya Ratanotayanon, Cristina V. Lopes
ACM Trans. Softw. Eng. Methodol.3
2010 My Repository Runneth Over: An Empirical Study on Diversifying Data Sources to Improve Feature Search
abstract
Research on feature location that applies information retrieval techniques have experimented the kinds of inputs to the corpus and the algorithms that could be used. At first, only source code was used. Later extraction techniques were improved, and data from other software tools and analyses were used to expand or augment the repository. But, does having more diverse data in the repository always produce better results? In this paper, we report on an empirical study to examine the effect of increasing data diversity to improve feature location through search. In particular, we looked at the effect of including: i) change sets from revision control system, ii) tickets from issue trackers, and iii) elements from a Static Dependency Graph (SDG). We searched for three features of Jajuk, an open source Java jukebox, and two features of jEdit, an open source Java text editor. We used four different corpuses built with a combination of the above data. We used Eclipse's code search and an index built with source code as baseline conditions. We found that it is not always better to have more diverse data. Adding SDG data to change sets increased recall, but drove down precision. Adding data from issue trackers had little effect and in one case lowered recall. We also found that large-scale refactoring of the code decreases the effectiveness using change sets for feature location.
Sukanya Ratanotayanon, Hye Jung Choi, Susan Elliott Sim
ICPC1
2010 Using transitive changesets to support feature location
abstract
In this paper, we present a new construct, called Transitive Changeset, that can be used for feature location. Transitive Changesets are created by extending changesets from revision control systems with additional information. A changeset temporally associate changes and conceptual descriptions provided in a commit transaction. By following transitive relationships from these changesets, we can create a Transitive Changeset that relates concepts in the problem domain to a list of program elements that enclose changes made in the transaction and other relevant program elements. We have implemented a prototype Eclipse plug-in, Kayley, to create
Sukanya Ratanotayanon, Hye Jung Choi, Susan Elliott Sim
ASE1
2009 Creating task-based concern maps by merging concern fragments
abstract
On any project, it is not possible to have complete and accurate concern maps for all possible tasks. We present an approach to create concern maps from available secondary software work artifacts produced by common software tools, such as revisions control. We mine and index concern fragments from repositories of those tools. Developers can search the index for an initial set of relevant fragments. To create a final concern map, the members from the initial set of fragments are validated, merged and expanded using a call graph. Members of the final concern map members are also ranked to guide developers to more relevant sections of the code.
Sukanya Ratanotayanon, Susan Elliott Sim
ICPC1
2009 Structure transition graphs: An ECG for program comprehension?
abstract
This paper presents an idea of using a structure traversal graph (STG) to characterize whether program comprehension is progressing smoothly. Inspired by electrocardiograms that are used to measure heart rhythms, STGs are an attempt to depict the rhythm of program navigation. STGs are created by abstracting navigation between files to the level of a conceptual architecture graph. We analyzed the navigation patterns of fifteen developers performing a modification task in the laboratory and found that the STG was a good organizing principle for program comprehension behavior.
Susan Elliott Sim, Sukanya Ratanotayanon, Leyna Cotran
ICPC2
2006 After the Scrum: Twenty Years of Working without Documentation
Sukanya Ratanotayanon, Jigar Kotak, Susan Elliott Sim
SEKE1