Demonstration venue · read-only. Every page can be browsed; the buttons that would change it are switched off. Create an account to run TaxoReview on your own data.

Ekwa Duala-Ekoko

dblp:99/5302 · DBLP profile ↗
← Back
7ranked-venue papers
6as 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 · 7 · 6 first-author

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
4 papers
Software maintenance and evolution · 80% Empirical software engineering · 20%

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

TopicWeightPapersLastEvidence papers
Software maintenance and evolution › code clone management
clone tracking
0.332010
Clone region descriptors: Representing and tracking duplication in source code · ACM Trans. Softw. Eng. Methodol. 2010
Clonetracker: tool support for code clone management · ICSE 2008
Tracking Code Clones in Evolving Software · ICSE 2007
Software maintenance and evolution
code clone
0.332010
Clone region descriptors: Representing and tracking duplication in source code · ACM Trans. Softw. Eng. Methodol. 2010
Clonetracker: tool support for code clone management · ICSE 2008
Tracking Code Clones in Evolving Software · ICSE 2007
Software maintenance and evolution › program comprehension
API learning
0.112012
Asking and answering questions about unfamiliar APIs: An exploratory study · ICSE 2012
Empirical software engineering
developer studies
0.112012
Asking and answering questions about unfamiliar APIs: An exploratory study · ICSE 2012
Software maintenance and evolution
refactoring
0.022008
Clonetracker: tool support for code clone management · ICSE 2008
Tracking Code Clones in Evolving Software · ICSE 2007
Empirical software engineering › human factors in software engineering
API usability
0.012012
Asking and answering questions about unfamiliar APIs: An exploratory study · ICSE 2012
Software maintenance and evolution
software ecosystems
0.012012
Asking and answering questions about unfamiliar APIs: An exploratory study · ICSE 2012

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

think-aloud study · 0.1screen capture analysis · 0.1clone region descriptors · 0.1clone detection · 0.1clone model generation · 0.1abstract clone region descriptors · 0.1
YearPublicationVenuePosition
2012 Asking and answering questions about unfamiliar APIs: An exploratory study
abstract
The increasing size of APIs and the increase in the number of APIs available imply developers must frequently learn how to use unfamiliar APIs. To identify the types of questions developers want answered when working with unfamiliar APIs and to understand the difficulty they may encounter answering those questions, we conducted a study involving twenty programmers working on different programming tasks, using unfamiliar APIs. Based on the screen captured videos and the verbalization of the participants, we identified twenty different types of questions programmers ask when working with unfamiliar APIs, and provide new insights to the cause of the difficulties programmers encounter when answering questions about the use of APIs. The questions we have identified and the difficulties we observed can be used for evaluating tools aimed at improving API learning, and in identifying areas of the API learning process where tool support is missing, or could be improved.
Ekwa Duala-Ekoko, Martin P. Robillard
ICSE1
2011 Using Structure-Based Recommendations to Facilitate Discoverability in APIs
Ekwa Duala-Ekoko, Martin P. Robillard
ECOOP1
2010 Clone region descriptors: Representing and tracking duplication in source code
abstract
Source code duplication, commonly known as code cloning , is considered an obstacle to software maintenance because changes to a cloned region often require consistent changes to other regions of the source code. Research has provided evidence that the elimination of clones may not always be practical, feasible, or cost-effective. We present a clone management approach that describes clone regions in a robust way that is independent from the exact text of clone regions or their location in a file, and that provides support for tracking clones in evolving software. Our technique relies on the concept of abstract clone region descriptors (CRDs), which describe clone regions using a combination of their syntactic, structural, and lexical information. We present our definition of CRDs, and describe a clone tracking system capable of producing CRDs from the output of different clone detection tools, notifying developers of modifications to clone regions, and supporting updates to the documented clone relationships. We evaluated the performance and usefulness of our approach across three clone detection tools and five subject systems, and the results indicate that CRDs are a practical and robust representation for tracking code clones in evolving software.
Ekwa Duala-Ekoko, Martin P. Robillard
ACM Trans. Softw. Eng. Methodol.1
2009 A detailed examination of the correlation between imports and failure-proneness of software components
abstract
Research has provided evidence that type usage in source files is correlated with the risk of failure of software components. Previous studies that investigated the correlation between type usage and component failure assigned equal blame to all the types imported by a component with a failure history, regardless of whether a type is used in the component, or associated to its failures. A failure-prone component may use a type, but it is not always the case that the use of this type has been responsible for any of its failures. To gain more insight about the correlation between type usage and component failure, we introduce the concept of a failure-associated type to represent the imported types referenced within methods fixed due to failures. We conducted two studies to investigate the tradeoffs between the equal-blame approach and the failure-associated type approach. Our results indicate that few of the types or packages imported by a failure-prone component are associated with its failures - less than 25% of the type imports, and less than 55% of the packages whose usage were reported to be highly correlated with failures by the equal-blame approach, were actually correlated with failures when we looked at the failure-associated types.
Ekwa Duala-Ekoko, Martin P. Robillard
ESEM1
2009 Impact analysis and visualization toolkit for static crosscutting in AspectJ
abstract
Understanding aspect-oriented systems, without appropriate tool support, is a difficult and a recognized problem in the research community. Surprisingly, little has been done to help developers understand the impact of the static crosscutting constructs of AspectJ on base programs. Questions of interest to developers such as: which statements in a base program are affected by a given inter-type declaration, or how has the behavior of the affected statements been modified, are still outstanding. This paper presents analysis techniques for inferring the impact of the static crosscutting constructs of AspectJ on base programs, and tools for visualizing the results of the analysis; thus improving the comprehension of AspectJ systems and guarding against unintended modifications. Our analyses are implemented as extensions to the AspectBench compiler, and integrated in the Eclipse IDE as a plugin. We present experiments on several open source systems to investigate the effectiveness and suitability of our analysis techniques and tools.
Dehua Zhang, Ekwa Duala-Ekoko, Laurie J. Hendren
ICPC2
2008 Clonetracker: tool support for code clone management
abstract
Code clones are generally considered to be an obstacle to software maintenance. Research has provided evidence that it may not always be practical, feasible, or cost-effective to eliminate certain clone groups through refactoring. This paper describes CloneTracker, an Eclipse plug-in that provides support for tracking code clones in evolving software. With CloneTracker, developers can specify clone groups they wish to track, and the tool will automatically generate a clone model that is robust to changes to the source code, and can be shared with other collaborators of the project. When future modifications intersect with tracked clones, CloneTracker will notify the developer, provide support to consistently apply changes to a corresponding clone region, and provide support for updating the clone model. CloneTracker complements existing techniques by providing support for reusing knowledge about the location of clones in source code, and support for keeping track of clones when refactoring is not desirable.
Ekwa Duala-Ekoko, Martin P. Robillard
ICSE1
2007 Tracking Code Clones in Evolving Software
abstract
Code clones are generally considered harmful in software development, and the predominant approach is to try to eliminate them through refactoring. However, recent research has provided evidence that it may not always be practical, feasible, or cost-effective to eliminate certain clone groups. We propose a technique for tracking clones in evolving software. Our technique relies on the concept of abstract clone region descriptors (CRD), which describe clone regions within methods in a robust way that is independent from the exact text of the clone region or its location in a file. We present our definition of CRDs, and describe a complete clone tracking system capable of producing CRDs from the output of a clone detection tool, notify developers of modifications to clone regions, and support the simultaneous editing of clone regions. We report on two experiments and a case study conducted to assess the performance and usefulness of our approach.
Ekwa Duala-Ekoko, Martin P. Robillard
ICSE1