Untangling: a slice extraction refactoring
Proceedings of the 3rd international conference on Aspect-oriented software development
Analysis and Visualization of Predicate Dependence on Formal Parameters and Global Variables
IEEE Transactions on Software Engineering
Jungloid mining: helping to navigate the API jungle
Proceedings of the 2005 ACM SIGPLAN conference on Programming language design and implementation
An empirical study of code clone genealogies
Proceedings of the 10th European software engineering conference held jointly with 13th ACM SIGSOFT international symposium on Foundations of software engineering
Ablego: a function outlining and partial inlining framework: Research Articles
Software—Practice & Experience
Revisiting Java Bytecode Compression for Embedded and Mobile Computing Environments
IEEE Transactions on Software Engineering
The impact of static-dynamic coupling on remodularization
Proceedings of the 23rd ACM SIGPLAN conference on Object-oriented programming systems languages and applications
Dependence clusters in source code
ACM Transactions on Programming Languages and Systems (TOPLAS)
Clone removal: fact or fiction?
Proceedings of the 4th International Workshop on Software Clones
Software refactoring at the function level using new Adaptive K-Nearest Neighbor algorithm
Advances in Engineering Software
Profile-driven selective program loading
EuroPar'10 Proceedings of the 16th international Euro-Par conference on Parallel processing: Part I
A visualization method of program dependency graph for identifying extract method opportunity
Proceedings of the 4th Workshop on Refactoring Tools
Automatically detecting and describing high level actions within methods
Proceedings of the 33rd International Conference on Software Engineering
An empirical study of long-lived code clones
FASE'11/ETAPS'11 Proceedings of the 14th international conference on Fundamental approaches to software engineering: part of the joint European conferences on theory and practice of software
Identification of extract method refactoring opportunities for the decomposition of methods
Journal of Systems and Software
Identifying services from legacy batch applications
Proceedings of the 5th India Software Engineering Conference
Effective source-to-source outlining to support whole program empirical optimization
LCPC'09 Proceedings of the 22nd international conference on Languages and Compilers for Parallel Computing
Fine slicing: theory and applications for computation extraction
FASE'12 Proceedings of the 15th international conference on Fundamental Approaches to Software Engineering
Empirical Software Engineering
Identifying extract-method refactoring candidates automatically
Proceedings of the Fifth Workshop on Refactoring Tools
Increasing clone maintenance support by unifying clone detection and refactoring activities
Information and Software Technology
ECOOP'12 Proceedings of the 26th European conference on Object-Oriented Programming
SPAPE: A semantic-preserving amorphous procedure extraction method for near-miss clones
Journal of Systems and Software
Hi-index | 0.00 |
Legacy code can often be made more understandable and maintainable by extracting out selected sets of statements to form procedures and replacing the extracted code with procedure calls. Sets of statements that are non-contiguous and/or include non-local jumps (caused by go-tos, breaks, continues, etc.) can be difficult to extract, and usually cause previous automatic-extraction algorithms to fail or to produce poor results.The chief contributions of this paper are a semantics-preserving algorithm for extracting "difficult" sets of statements, and a study that compares the algorithm both to an ideal extractor (a human) and to previously reported automatic approaches. We found that "difficult" examples do arise frequently in practice, and that our algorithm is a significant improvement over previous work, achieving ideal results on over 70% of the difficult cases.