The relationship between slices and module cohesion
ICSE '89 Proceedings of the 11th international conference on Software engineering
Efficient flow-sensitive interprocedural computation of pointer-induced aliases and side effects
POPL '93 Proceedings of the 20th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
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
OOPSLA '94 Proceedings of the ninth annual conference on Object-oriented programming systems, language, and applications
An algebraic semantics of subobjects
Proceedings of the tenth annual conference on Object-oriented programming systems, languages, and applications
Reengineering of configurations based on mathematical concept analysis
ACM Transactions on Software Engineering and Methodology (TOSEM)
Slicing class hierarchies in C++
Proceedings of the 11th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Automatic inheritance hierarchy restructuring and method refactoring
Proceedings of the 11th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Points-to analysis in almost linear time
POPL '96 Proceedings of the 23rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Assessing modular structure of legacy code based on mathematical concept analysis
ICSE '97 Proceedings of the 19th international conference on Software engineering
On the inference of configuration structures from source code
ICSE '94 Proceedings of the 16th international conference on Software engineering
A member lookup algorithm for C++
Proceedings of the ACM SIGPLAN 1997 conference on Programming language design and implementation
Fast and accurate flow-insensitive points-to analysis
Proceedings of the 24th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Class hierarchy specialization
Proceedings of the 12th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Concept analysis—a new framework for program understanding
Proceedings of the 1998 ACM SIGPLAN-SIGSOFT workshop on Program analysis for software tools and engineering
A study of dead data members in C++ applications
PLDI '98 Proceedings of the ACM SIGPLAN 1998 conference on Programming language design and implementation
Design of class hierarchies based on concept (Galois) lattices
Theory and Practice of Object Systems - Special issue high availability in CORBA
Identifying modules via concept analysis
ICSM '97 Proceedings of the International Conference on Software Maintenance
Data-Flow-Based Virtual Function Resolution
SAS '96 Proceedings of the Third International Symposium on Static Analysis
Identifying objects using cluster and concept analysis
Proceedings of the 21st international conference on Software engineering
The concept of dynamic analysis
ESEC/FSE-7 Proceedings of the 7th European software engineering conference held jointly with the 7th ACM SIGSOFT international symposium on Foundations of software engineering
Identifying Modules via Concept Analysis
IEEE Transactions on Software Engineering
Data mining library reuse patterns using generalized association rules
Proceedings of the 22nd international conference on Software engineering
Understanding class hierarchies using concept analysis
ACM Transactions on Programming Languages and Systems (TOPLAS)
Concept Analysis for Module Restructuring
IEEE Transactions on Software Engineering
A scenario-driven approach to traceability
ICSE '01 Proceedings of the 23rd International Conference on Software Engineering
Code web: data mining library reuse patterns
ICSE '01 Proceedings of the 23rd International Conference on Software Engineering
Specification-Based Browsing of Software Component Libraries
Automated Software Engineering
A partition-based approach towards constructing Galois (concept) lattices
Discrete Mathematics
Computing iceberg concept lattices with TITANIC
Data & Knowledge Engineering
Automated abstraction of class diagrams
ACM Transactions on Software Engineering and Methodology (TOSEM)
A Scenario-Driven Approach to Trace Dependency Analysis
IEEE Transactions on Software Engineering
Locating Features in Source Code
IEEE Transactions on Software Engineering
Semantics-Based Composition of Class Hierarchies
ECOOP '02 Proceedings of the 16th European Conference on Object-Oriented Programming
ECOOP '00 Proceedings of the Workshops, Panels, and Posters on Object-Oriented Technology
ECOOP '02 Proceedings of the Workshops and Posters on Object-Oriented Technology
XSearch: A Neural Network Based Tool for Components Search in a Distributed Object Environment
DEXA '01 Proceedings of the 12th International Conference on Database and Expert Systems Applications
Supporting iterations in exploratory database reengineering processes
Science of Computer Programming - Software maintenance and reengineering (CSMR 99)
Aiding Program Comprehension by Static and Dynamic Feature Analysis
ICSM '01 Proceedings of the IEEE International Conference on Software Maintenance (ICSM'01)
Refactoring for generalization using type constraints
OOPSLA '03 Proceedings of the 18th annual ACM SIGPLAN conference on Object-oriented programing, systems, languages, and applications
A Survey of Software Refactoring
IEEE Transactions on Software Engineering
A Scalable Approach to User-Session based Testing of Web Applications through Concept Analysis
Proceedings of the 19th IEEE international conference on Automated software engineering
Resolving uncertainties during trace analysis
Proceedings of the 12th ACM SIGSOFT twelfth international symposium on Foundations of software engineering
Analyzing clusters of web application user sessions
WODA '05 Proceedings of the third international workshop on Dynamic analysis
Dynamic Class Hierarchy Mutation
Proceedings of the International Symposium on Code Generation and Optimization
Recovering UML class models from C++: A detailed explanation
Information and Software Technology
Mining Security-Sensitive Operations in Legacy Code Using Concept Analysis
ICSE '07 Proceedings of the 29th international conference on Software Engineering
Relational concept discovery in structured datasets
Annals of Mathematics and Artificial Intelligence
Applying Concept Analysis to User-Session-Based Testing of Web Applications
IEEE Transactions on Software Engineering
Documenting after the fact: Recovering architectural design decisions
Journal of Systems and Software
A Linear Delay Algorithm for Building Concept Lattices
CPM '08 Proceedings of the 19th annual symposium on Combinatorial Pattern Matching
An incremental algorithm to construct a lattice of set intersections
Science of Computer Programming
Software Engineering
Delving source code with formal concept analysis
Computer Languages, Systems and Structures
An incremental approach for attribute reduction in concept lattice
RSKT'07 Proceedings of the 2nd international conference on Rough sets and knowledge technology
Using concept lattices for text retrieval and mining
Formal Concept Analysis
A survey of formal concept analysis support for software engineering activities
Formal Concept Analysis
Concept lattices in software analysis
Formal Concept Analysis
ICSR'06 Proceedings of the 9th international conference on Reuse of Off-the-Shelf Components
Towards a formal concept analysis approach to exploring communities on the world wide web
ICFCA'05 Proceedings of the Third international conference on Formal Concept Analysis
Using concept lattices to uncover causal dependencies in software
ICFCA'06 Proceedings of the 4th international conference on Formal Concept Analysis
Identification of generalization refactoring opportunities
Automated Software Engineering
A novel obfuscation: class hierarchy flattening
FPS'12 Proceedings of the 5th international conference on Foundations and Practice of Security
Hi-index | 0.00 |
The design of a class hierarchy may be imperfect. For example, a class C may contain a member m not accessed in any C-instance, an indication that m could be eliminated, or moved into a derived class. Furthermore, different subsets of C's members may be accessed from different C-instances, indicating that it might be appropriate to split C into multiple classes. We present a framework for detecting and remediating such design problems, which is based on concept analysis. Our method analyzes a class hierarchy along with a set of applications that use it, and constructs a lattice that provides valuable insights into the usage of the class hierarchy in a specific context. We show how a restructured class hierarchy can be generated from the lattice, and how the lattice can serve as a formal basis for interactive tools for redesigning and restructuring class hierarchies.