| Identifying refactoring opportunities by identifying dependency cycles |
| Full text |
Pdf
(109 KB)
|
| Source
|
ACM International Conference Proceeding Series; Vol. 171
archive
Proceedings of the 29th Australasian Computer Science Conference - Volume 48
table of contents
Hobart, Australia
Pages: 35 - 41
Year of Publication: 2006
ISBN ~ ISSN:1445-1336 , 1-920682-30-9
|
|
Authors
|
|
Hayden Melton
|
Department of Computer Science, University of Auckland, Auckland, New Zealand
|
|
Ewan Tempero
|
Department of Computer Science, University of Auckland, Auckland, New Zealand
|
|
| Publisher |
Australian Computer Society, Inc.
Darlinghurst, Australia, Australia
|
| Bibliometrics |
Downloads (6 Weeks): 4, Downloads (12 Months): 41, Citation Count: 4
|
|
|
ABSTRACT
The purpose of refactoring is to improve the quality of a software system by changing its internal design so that it is easier to understand or modify, or less prone to errors and so on. One challenge in performing a refactoring is quickly determining where to apply it. We present a tool (Jepends) that analyses the source code of a system in order to identify classes as possible refactoring candidates. Our tool identifies dependency cycles among classes because long cycles are detrimental to understanding, testing and reuse. We demonstrate our tool on a widely-downloaded, open-source, medium-sized Java program and show how cycles can be eliminated through a simple refactoring.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
| |
1
|
|
| |
2
|
Azureus (2005), 'Azureus project page', http:// azureus.sourceforge.net. Sourceforge project page for Azureus.
|
| |
3
|
|
| |
4
|
|
| |
5
|
|
 |
6
|
|
| |
7
|
|
| |
8
|
|
| |
9
|
Hautus, E. (2002), Improving java software through package structure analysis, in 'The 6th IASTED International Conference Software Engineering and Applications'.
|
| |
10
|
Kuck, D., Muraoka, Y. & Chen, S. (1972), 'On the number of operations simultaneously executable in fortran-like programs and their resulting speedup', IEEE Transactions on Computers 21(12).
|
| |
11
|
Lagorio, G. (2004), 'Capturing ghost dependencies in java sources', Journal of Object Technology 3(11), 77-95. URL: http://www.jot.fm/issues/ issue_2004_12/article4
|
| |
12
|
|
| |
13
|
|
| |
14
|
Marchesi, M., Pinna, S., Serra, N. & Tuveri, S. (2004), Power laws in smalltalk, in 'ESUG Conference 2004 Research Track'. URL: http://www.iam.unibe.ch/ publikationen/techreports/2004/ iam-04-008/file/at_download
|
| |
15
|
Martin, R. C. (1996), Granularity, in 'The C++ Report'. http://www.objectmentor.com/ resources/articles/granularity.pdf.
|
| |
16
|
|
| |
17
|
|
| |
18
|
Wheeldon, R. & Counsell, S. (2003), Power law distributions in class relationships, in 'Third IEEE International Workshop on Source Code Analysis and Manipulation', p. 45.
|
| |
19
|
Yijun Yu , Homy Dayani-Fard , John Mylopoulos, Removing false code dependencies to speedup software build processes, Proceedings of the 2003 conference of the Centre for Advanced Studies on Collaborative research, p.343-352, October 06-09, 2003, Toronto, Ontario, Canada
|
CITED BY 4
|
|
|
|
|
|
Gareth Baxter , Marcus Frean , James Noble , Mark Rickerby , Hayden Smith , Matt Visser , Hayden Melton , Ewan Tempero, Understanding the shape of Java software, ACM SIGPLAN Notices, v.41 n.10, October 2006
|
|
|
|
|