OOPSLA '87 Conference proceedings on Object-oriented programming systems, languages and applications
Object-oriented programming: an objective sense of style
OOPSLA '88 Conference proceedings on Object-oriented programming systems, languages and applications
From objects to classes: algorithms for optimal objection-oriented design
Software Engineering Journal
Building and maintaining analysis-level class hierarchies using Galois Lattices
OOPSLA '93 Proceedings of the eighth annual conference on Object-oriented programming systems, languages, and applications
Refactoring object-oriented frameworks
Refactoring object-oriented frameworks
Creating abstract superclasses by refactoring
CSC '93 Proceedings of the 1993 ACM conference on Computer science
On automatic class insertion with overloading
Proceedings of the 11th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Reverse Engineering and Software Maintenance: A Practical Approach
Reverse Engineering and Software Maintenance: A Practical Approach
Smalltalk-80: The Language
Automatic Structuring of Knowledge Bases by Conceptual Clustering
IEEE Transactions on Knowledge and Data Engineering
An Incremental Class Reorganization Approach
ECOOP '92 Proceedings of the European Conference on Object-Oriented Programming
The Cartesian Product Algorithm: Simple and Precise Type Inference Of Parametric Polymorphism
ECOOP '95 Proceedings of the 9th European Conference on Object-Oriented Programming
On automatic class insertion with overloading
Proceedings of the 11th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Class hierarchy specialization
Proceedings of the 12th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Reengineering class hierarchies using concept analysis
SIGSOFT '98/FSE-6 Proceedings of the 6th ACM SIGSOFT international symposium on Foundations of software engineering
Automatic method refactoring using weighted dependence graphs
Proceedings of the 21st international conference on Software engineering
Finding refactorings via change metrics
OOPSLA '00 Proceedings of the 15th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Understanding class hierarchies using concept analysis
ACM Transactions on Programming Languages and Systems (TOPLAS)
Proceedings of the 2002 ACM SIGPLAN workshop on Rule-based programming
FAMOOS Workshop on Object-Oriented Software Evolution and Re-engineering - Introduction
ECOOP '97 Proceedings of the Workshops on Object-Oriented Technology
Elemental Design Patterns: A Formal Semantics for Composition of OO Software Architecture
SEW '02 Proceedings of the 27th Annual NASA Goddard Software Engineering Workshop (SEW-27'02)
Automated Support for Program Refactoring using Invariants
ICSM '01 Proceedings of the IEEE International Conference on Software Maintenance (ICSM'01)
Applying traits to the smalltalk collection classes
OOPSLA '03 Proceedings of the 18th annual ACM SIGPLAN conference on Object-oriented programing, systems, languages, and applications
Global Analysis and Transformations in Preprocessed Languages
IEEE Transactions on Software Engineering
A Survey of Software Refactoring
IEEE Transactions on Software Engineering
Refactoring class hierarchies with KABA
OOPSLA '04 Proceedings of the 19th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Algebraic reasoning for object-oriented programming
Science of Computer Programming - Special issue on program transformation
Towards a taxonomy of software change: Research Articles
Journal of Software Maintenance and Evolution: Research and Practice - Unanticipated Software Evolution
Identifying traits with formal concept analysis
Proceedings of the 20th IEEE/ACM international Conference on Automated software engineering
Proceedings of the third ACM SIGPLAN conference on History of programming languages
Search-based refactoring for software maintenance
Journal of Systems and Software
Redesigning with traits: the Nile stream trait-based library
ICDL '07 Proceedings of the 2007 international conference on Dynamic languages: in conjunction with the 15th International Smalltalk Joint Conference 2007
Traits at work: The design of a new trait-based stream library
Computer Languages, Systems and Structures
The impact of static-dynamic coupling on remodularization
Proceedings of the 23rd ACM SIGPLAN conference on Object-oriented programming systems languages and applications
Automated Design Improvement by Example
Proceedings of the 2007 conference on New Trends in Software Methodologies, Tools and Techniques: Proceedings of the sixth SoMeT_07
Generating a catalog of unanticipated schemas in class hierarchies using Formal Concept Analysis
Information and Software Technology
Identifying Extract Class refactoring opportunities using structural and semantic cohesion measures
Journal of Systems and Software
Identifying method friendships to remove the feature envy bad smell (NIER track)
Proceedings of the 33rd International Conference on Software Engineering
Self-configuring user interface components
Proceedings of the 1st international workshop on Semantic models for adaptive interactive systems
Edition synchrone de plusieurs objets: services et interaction
23rd French Speaking Conference on Human-Computer Interaction
Augmenting the SCOPE of interactions with implicit and explicit graphical structures
Proceedings of the 24th annual ACM symposium adjunct on User interface software and technology
Tool-supported refactoring for JavaScript
Proceedings of the 2011 ACM international conference on Object oriented programming systems languages and applications
Building abstractions in class models: formal concept analysis in a model-driven approach
MoDELS'06 Proceedings of the 9th international conference on Model Driven Engineering Languages and Systems
Formal concept analysis-based class hierarchy design in object-oriented software development
Formal Concept Analysis
Augmenting the scope of interactions with implicit and explicit graphical structures
Proceedings of the SIGCHI Conference on Human Factors in Computing Systems
QoS-aware and multi-granularity service composition
Information Systems Frontiers
Hi-index | 0.00 |
Most, object-oriented programs have imperfectly designed inheritance hierarchies and imperfectly factored methods, and these imperfections tend to increase with maintenance. Hence, even object-oriented programs are more expensive to maintain, harder to understand and larger than necessary. Automatic restructuring of inheritance hierarchies and refactoring of methods can improve the design of inheritance hierarchies, and the factoring of methods. This results in programs being smaller, having better code re-use and being more consistent. This paper describes Guru, a prototype tool for automatic inheritance hierarchy restructuring and method refactoring of Self programs. Results from realistic applications of the tool are presented.