2008
DOI: 10.1002/smr.370
|View full text |Cite
|
Sign up to set email alerts
|

Automatic identification of key classes in a software system using webmining techniques

Abstract: Software engineers new to a project are often stuck sorting through hundreds of classes in order to find those few classes that offer a significant insight into the inner workings of the software project. To help stimulate this process, we propose a technique that can identify the most important classes in a system or the key classes of that system. Software engineers can use these classes to focus their understanding efforts when starting to work on a new software project. Those key classes are typically char… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
3
2

Citation Types

1
73
0

Year Published

2010
2010
2018
2018

Publication Types

Select...
5
2

Relationship

0
7

Authors

Journals

citations
Cited by 74 publications
(74 citation statements)
references
References 46 publications
1
73
0
Order By: Relevance
“…A few approaches identify key or most important classes in a software system [17], [18]. Zaidman et al [17] provide a mechanism based on dynamic coupling and webmining to find classes with a lot of "control" within the application.…”
Section: Related Workmentioning
confidence: 99%
See 1 more Smart Citation
“…A few approaches identify key or most important classes in a software system [17], [18]. Zaidman et al [17] provide a mechanism based on dynamic coupling and webmining to find classes with a lot of "control" within the application.…”
Section: Related Workmentioning
confidence: 99%
“…Zaidman et al [17] provide a mechanism based on dynamic coupling and webmining to find classes with a lot of "control" within the application. Orla Greevy et al [18] identify the key classes and methods which provide functionality for individual features.…”
Section: Related Workmentioning
confidence: 99%
“…For software comprehension, the idea of landmarks was also used. Indeed in [11] and [13], key classes are identified to serve as starting points for program comprehension.…”
Section: Introductionmentioning
confidence: 99%
“…The identification of comprehension starting points is often based on coupling [11,13]. The rationale behind this decision is that elements that are tightly coupled to other elements are likely to implement the most important concepts of a program.…”
Section: Introductionmentioning
confidence: 99%
“…Textual information is analyzed by IR, execution information is collected by dynamic analysis, and dependencies are analyzed using web mining. Applying web mining to feature location is a novel idea, but it has been previously used for other program comprehension tasks, such as identifying key classes for program comprehension [32], ranking components in a software repository [19], and recommending related API calls [29]. Software lends itself well to web mining approaches, because like the World Wide Web, software can be represented by a graph, and that graph can be mined for useful information such as the source code that implements a feature.…”
Section: Introductionmentioning
confidence: 99%