Toward a design environment for recovering and maintaining the structure of software systems
ACM SIGSOFT Software Engineering Notes
Concept Analysis for Module Restructuring
IEEE Transactions on Software Engineering
On the Automatic Recovery of Style-Specific Architectural Relations in Software Systems
Automated Software Engineering
Visualizing and Analyzing Software Infrastructures
IEEE Software
Reengineering legacy systems for distributed environments
Journal of Systems and Software
Initial recommendations for improving maintenance strategy
Systems engineering for business process change
WSE '02 Proceedings of the Fourth International Workshop on Web Site Evolution (WSE'02)
ICSM '01 Proceedings of the IEEE International Conference on Software Maintenance (ICSM'01)
Sotware modularization using requirements attributes
ACM-SE 42 Proceedings of the 42nd annual Southeast regional conference
Getting Results from Search-Based Approaches to Software Engineering
Proceedings of the 26th International Conference on Software Engineering
Analysis and Visualization of Predicate Dependence on Formal Parameters and Global Variables
IEEE Transactions on Software Engineering
The Design and Implementation of a Framework for Automatic Modularization of Software Systems
The Journal of Supercomputing
Information-Theoretic Software Clustering
IEEE Transactions on Software Engineering
An empirical study of the robustness of two module clustering fitness functions
GECCO '05 Proceedings of the 7th annual conference on Genetic and evolutionary computation
Search-based improvement of subsystem decompositions
GECCO '05 Proceedings of the 7th annual conference on Genetic and evolutionary computation
IEEE Transactions on Software Engineering
Spectral and meta-heuristic algorithms for software clustering
Journal of Systems and Software - Special issue: Software reverse engineering
Using software evolution to focus architectural recovery
Automated Software Engineering
On the Automatic Modularization of Software Systems Using the Bunch Tool
IEEE Transactions on Software Engineering
Clustering the heap in multi-threaded applications for improved garbage collection
Proceedings of the 8th annual conference on Genetic and evolutionary computation
Program restructuring using clustering techniques
Journal of Systems and Software - Special issue: Selected papers from the 4th source code analysis and manipulation (SCAM 2004) workshop
Clustering large software systems at multiple layers
Information and Software Technology
An improved methodology on information distillation by mining program source code
Data & Knowledge Engineering
API-Based and Information-Theoretic Metrics for Measuring the Quality of Software Modularization
IEEE Transactions on Software Engineering
Source Code Analysis: A Road Map
FOSE '07 2007 Future of Software Engineering
The Current State and Future of Search Based Software Engineering
FOSE '07 2007 Future of Software Engineering
An Evolutionary Approach to Software Modularity Analysis
ACoM '07 Proceedings of the First International Workshop on Assessment of Contemporary Modularization Techniques
Getting the most from search-based refactoring
Proceedings of the 9th annual conference on Genetic and evolutionary computation
The multi-objective next release problem
Proceedings of the 9th annual conference on Genetic and evolutionary computation
Hierarchical Clustering for Software Architecture Recovery
IEEE Transactions on Software Engineering
Search-based refactoring for software maintenance
Journal of Systems and Software
A modified genetic algorithm for software clustering problem
AIC'06 Proceedings of the 6th WSEAS International Conference on Applied Informatics and Communications
Automatic modularity conformance checking
Proceedings of the 30th international conference on Software engineering
Context-sensitive cut, copy, and paste
Proceedings of the 2008 C3S2E conference
Identifying domain expertise of developers from source code
Proceedings of the 14th ACM SIGKDD international conference on Knowledge discovery and data mining
Search-based refactoring: an empirical study
Journal of Software Maintenance and Evolution: Research and Practice - Search Based Software Engineering [SBSE]
ICSR '08 Proceedings of the 10th international conference on Software Reuse: High Confidence Software Reuse in Large Systems
Search-Based Extraction of Component-Based Architecture from Object-Oriented Systems
ECSA '08 Proceedings of the 2nd European conference on Software Architecture
Clustering for Monitoring Software Systems Maintainability Evolution
Electronic Notes in Theoretical Computer Science (ENTCS)
Journal of Software Maintenance and Evolution: Research and Practice - Special Issue on the 12th Conference on Software Maintenance and Reengineering (CSMR 2008)
A partitional clustering algorithm for crosscutting concerns identification
SEPADS'09 Proceedings of the 8th WSEAS International Conference on Software engineering, parallel and distributed systems
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
Fast and precise points-to analysis
Information and Software Technology
Dependence clusters in source code
ACM Transactions on Programming Languages and Systems (TOPLAS)
Package coupling measurement in object-oriented software
Journal of Computer Science and Technology
Extending the reflexion method for consolidating software variants into product lines
Software Quality Control
Software System Understanding via Architectural Views Extraction According to Multiple Viewpoints
OTM '09 Proceedings of the Confederated International Workshops and Posters on On the Move to Meaningful Internet Systems: ADI, CAMS, EI2N, ISDE, IWSSA, MONET, OnToContent, ODIS, ORM, OTM Academy, SWWS, SEMELS, Beyond SAWSDL, and COMBEK 2009
Combating architectural degeneration: a survey
Information and Software Technology
A desiderata for refactoring-based software modularity improvement
Proceedings of the 3rd India software engineering conference
Modeling the search landscape of metaheuristic software clustering algorithms
GECCO'03 Proceedings of the 2003 international conference on Genetic and evolutionary computation: PartII
Finding building blocks for software clustering
GECCO'03 Proceedings of the 2003 international conference on Genetic and evolutionary computation: PartII
WSEAS Transactions on Computers
Package Fingerprints: A visual summary of package interface usage
Information and Software Technology
Visual comparison of software architectures
Proceedings of the 5th international symposium on Software visualization
Evaluating the quality of clustering algorithms using cluster path lengths
ICDM'10 Proceedings of the 10th industrial conference on Advances in data mining: applications and theoretical aspects
Software architecture recovery process based on object-oriented source code and documentation
ECSA'10 Proceedings of the 4th European conference on Software architecture
Journal of Software Maintenance and Evolution: Research and Practice
Parallel points-to analysis for multi-core machines
Proceedings of the 6th International Conference on High Performance and Embedded Architectures and Compilers
Multiscale visualization of small world networks
INFOVIS'03 Proceedings of the Ninth annual IEEE conference on Information visualization
Sustainability evaluation of software architectures: a systematic review
Proceedings of the joint ACM SIGSOFT conference -- QoSA and ACM SIGSOFT symposium -- ISARCS on Quality of software architectures -- QoSA and architecting critical systems -- ISARCS
Software packaging approaches: a comparison framework
ECSA'11 Proceedings of the 5th European conference on Software architecture
Controlling software architecture erosion: A survey
Journal of Systems and Software
Deriving high-level abstractions from legacy software using example-driven clustering
Proceedings of the 2011 Conference of the Center for Advanced Studies on Collaborative Research
Modified adaptive resonance theory network for mixed data based on distance hierarchy
ICCS'06 Proceedings of the 6th international conference on Computational Science - Volume Part IV
Improving the build architecture of legacy c/c++ software systems
FASE'05 Proceedings of the 8th international conference, held as part of the joint European Conference on Theory and Practice of Software conference on Fundamental Approaches to Software Engineering
Survey: A survey on search-based software design
Computer Science Review
An analysis of the effects of composite objectives in multiobjective software module clustering
Proceedings of the 14th annual conference on Genetic and evolutionary computation
Clustering methodologies for software engineering
Advances in Software Engineering
Search-based software engineering: Trends, techniques and applications
ACM Computing Surveys (CSUR)
Advances in evolutionary multi-objective optimization
SSBSE'12 Proceedings of the 4th international conference on Search Based Software Engineering
Evaluating the importance of randomness in search-based software engineering
SSBSE'12 Proceedings of the 4th international conference on Search Based Software Engineering
Visual comparison of hierarchically organized data
EuroVis'08 Proceedings of the 10th Joint Eurographics / IEEE - VGTC conference on Visualization
Leveraging design rules to improve software architecture recovery
Proceedings of the 9th international ACM Sigsoft conference on Quality of software architectures
Mixed-Integer Linear Programming Formulations for the Software Clustering Problem
Computational Optimization and Applications
Cooperative clustering for software modularization
Journal of Systems and Software
Efficient software clustering technique using an adaptive and preventive dendrogram cutting approach
Information and Software Technology
Software trustworthiness 2.0-A semantic web enabled global source code analysis approach
Journal of Systems and Software
Hi-index | 0.00 |
Software systems are typically modified in order to extend or change their functionality, improve their performance, port them to different platforms, and so on. For developers, it is crucial to understand the structure of a system before attempting to modify it. The structure of a system, however, may not be apparent to new developers, because the design documentation is non-existent or, worse, inconsistent with the implementation. This problem could be alleviated if developers were somehow able to produce high-level system decomposition descriptions from the low-level structures present in the source code.We have developed a clustering tool called Bunch that creates a system decomposition automatically by treating clustering as an optimization problem. This paper describes the extensions made to Bunch in response to feedback we received from users. The most important extension, in terms of the quality of results and execution efficiency, is a feature that enables the integration of designer knowledge about the system structure into an otherwise fully automatic clustering process. We use a case study to show how our new features simplified the task of extracting the subsystem structure of a medium size program, while exposing an interesting design flaw in the process.