H. Alloui, I. Ducasse, S. Pollet, D. Suen, and M. , Package reference fingerprint: a rich and compact visualization to understand package relationships, ArgoU M L 2 (d = 05.0%) ?02.5% ?04.2% ?25.9% ?24.9% Jboss 2 (d = 05.0%) ?03.2% ?12.6% ?11.3% ?21.6% Azureus 2 (d = 05.0%) ?03.2% ?09.3% ?05.7% ?16.7% Bibliography Abdeen, European Conference on Software Maintenance and Reengineering (CSMR), pp.213-222, 2008.
URL : https://hal.archives-ouvertes.fr/inria-00200869

H. Abdeen, S. Ducasse, D. Pollet, A. , and I. , Package fingerprint: a visual summary of package interfaces and relationships, Under submission at the Information and Software Technology (IST) Journal, 2009.
URL : https://hal.archives-ouvertes.fr/inria-00531496

H. Abdeen, S. Ducasse, H. Sahraoui, A. , and I. , Automatic Package Coupling and Cycle Minimization, 2009 16th Working Conference on Reverse Engineering, 2009.
DOI : 10.1109/WCRE.2009.13

URL : https://hal.archives-ouvertes.fr/inria-00425417

F. B. Abreu and M. Goulao, Coupling and cohesion as modularization drivers: are we being over-persuaded, European Conference on Software Maintenance and Reengineering (CSMR), pp.47-57, 2001.

E. Allen and T. Khoshgoftaar, Measuring coupling and cohesion of software modules: an information-theory approach, Proceedings Seventh International Software Metrics Symposium, 2001.
DOI : 10.1109/METRIC.2001.915521

N. Anquetil and T. Lethbridge, Experiments with clustering as a software remodularization method, Sixth Working Conference on Reverse Engineering (Cat. No.PR00303), pp.235-255, 1999.
DOI : 10.1109/WCRE.1999.806964

E. Arisholm, L. C. Briand, and A. Foyen, Dynamic coupling measurement for object-oriented software, IEEE Transactions on Software Engineering, vol.30, issue.8, pp.30-491, 2004.
DOI : 10.1109/TSE.2004.41

M. Bauer and M. Trifu, Architecture-aware adaptive clustering of OO systems, Eighth European Conference on Software Maintenance and Reengineering, 2004. CSMR 2004. Proceedings., pp.3-14, 2004.
DOI : 10.1109/CSMR.2004.1281401

E. V. Berard, Essays On Object-Oriented Software Engineering, 1993.

A. Bergel, S. Ducasse, and O. Nierstrasz, Analyzing module diversity, Journal of Universal Computer Science, vol.11, issue.10, pp.1613-1644, 2005.
URL : https://hal.archives-ouvertes.fr/hal-01352809

J. Bertin, Semiology of Graphics, 1983.

D. Beyer, Co-change visualization, International Conference on Software Maintenance (ICSM), Industrial and Tool volume, pp.89-92, 2005.

J. Bieman and B. Kang, Cohesion and reuse in an object-oriented system, ACM Symposium on Software Reusability, 1995.

J. Bieman and B. Kang, Measuring design-level cohesion, IEEE Transactions on Software Engineering, vol.24, issue.2, pp.111-124, 1998.
DOI : 10.1109/32.666825

J. Bieman and L. M. Ott, Measuring functional cohesion, IEEE Transactions on Software Engineering, vol.20, issue.8, pp.644-658, 1994.
DOI : 10.1109/32.310673

L. C. Briand, J. W. Daly, and J. Wüst, A Unified Framework for Cohesion Measurement in Object-Oriented Systems. Empirical Software Engineering, An International Journal, vol.3, issue.1, pp.65-117, 1998.

L. C. Briand, J. W. Daly, and J. K. Wüst, A unified framework for coupling measurement in object-oriented systems, IEEE Transactions on Software Engineering, vol.25, issue.1, pp.91-121, 1999.
DOI : 10.1109/32.748920

L. C. Briand, J. W. Daly, and J. K. Wüst, Using coupling measurement for impact analysis in object-oriented systems, Proceedings IEEE International Conference on Software Maintenance, 1999 (ICSM'99). 'Software Maintenance for Business Change' (Cat. No.99CB36360), pp.475-482, 1999.
DOI : 10.1109/ICSM.1999.792645

W. Callebaut and D. Rasskin-gutman, Modularity: Understanding the Development and Evolution of Natural Complex Systems, 2005.

W. L. Chapman, J. Rozenblit, and A. T. Bahill, System design is an NP-complete problem, Systems Engineering, vol.3, issue.3, pp.222-229, 2001.
DOI : 10.1002/sys.1018

S. R. Chidamber and C. F. Kemerer, A metrics suite for object oriented design, IEEE Transactions on Software Engineering, vol.20, issue.6, pp.476-493, 1994.
DOI : 10.1109/32.295895

M. C. Chuah and S. G. Eick, Information rich glyphs for software management data, IEEE Computer Graphics and Applications, vol.18, issue.4, pp.24-29, 1998.
DOI : 10.1109/38.689658

J. Clarke, J. J. Dolado, M. Harman, B. Jones, M. Lumkin et al., Reformulating software engineering as a search problem, IEEE Proceedings on Software, pp.161-175, 2003.
DOI : 10.1049/ip-sen:20030559

D. 'ambros, M. Lanza, and M. , Applying the evolution radar to postgresql, Workshop on Mining Software Repositories (MSR), pp.177-178, 2006.

D. 'ambros, M. Lanza, and M. , Reverse engineering with logical coupling, Working Conference on Reverse Engineering (WCRE), pp.189-198, 2006.

D. 'ambros, M. Lanza, and M. , Software bugs and evolution: A visual approach to uncover their relationship, European Conference on Software Maintenance and Reengineering (CSMR), pp.227-236, 2006.

D. 'ambros, M. Lanza, and M. , Bugcrawler: Visualizing evolving software systems, European Conference on Software Maintenance and Reengineering (CSMR), p. to be published, 2007.

D. 'ambros, M. Lanza, M. Lungu, and M. , The evolution radar: Integrating fine-grained and coarse-grained logical coupling information, International Workshop on Mining Software Repositories (MSR), pp.26-32, 2006.

S. Demeyer, S. Ducasse, and O. Nierstrasz, Object-Oriented Reengineering Patterns, 2002.

S. Demeyer, S. Tichelaar, and S. Ducasse, FAMIX 2.1 ? The FAMOOS Information Exchange Model, 2001.

M. Denker and S. Ducasse, Software Evolution from the Field, Proceedings of the ERCIM Working Group on Software Evolution, pp.81-91, 2007.
DOI : 10.1016/j.entcs.2006.08.003

URL : https://hal.archives-ouvertes.fr/inria-00555868

F. Deremer and H. H. Kron, Programming in the large versus programming in the small, IEEE Transactions on Software Engineering (TSE), vol.2, issue.2, pp.80-86, 1976.

X. Dong and M. Godfrey, System-level usage dependency analysis of objectoriented systems, International Conference on Software Maintenance (ICSM), pp.375-384, 2007.

D. Doval, S. Mancoridis, M. , and B. S. , Automatic clustering of software systems using a genetic algorithm, STEP '99. Proceedings Ninth International Workshop Software Technology and Engineering Practice, p.73, 1999.
DOI : 10.1109/STEP.1999.798481

S. Ducasse, H. Abdeen, D. Pollet, M. Suen, A. et al., Understanding packages: The package blueprint, Under submission at the IEEE Transactions on Software Engineering (TSE) Journal, 2009.

S. Ducasse, T. Gîrba, and A. Kuhn, Distribution Map, 2006 22nd IEEE International Conference on Software Maintenance, pp.203-212, 2006.
DOI : 10.1109/ICSM.2006.22

S. Ducasse, T. Gîrba, M. Lanza, and S. Demeyer, Moose: a collaborative and extensible reengineering environment, Tools for Software Maintenance and Reengineering, RCOST / Software Technology Series, pp.55-71, 2005.

S. Ducasse, T. Gîrba, and R. Wuyts, Object-oriented legacy system tracebased logic testing, European Conference on Software Maintenance and Reengineering (CSMR), pp.35-44, 2006.
DOI : 10.1109/csmr.2006.37

S. Ducasse, M. Lanza, and L. Ponisio, Butterflies: A Visual Approach to Characterize Packages, 11th IEEE International Software Metrics Symposium (METRICS'05), pp.70-77, 2005.
DOI : 10.1109/METRICS.2005.15

S. Ducasse, D. Pollet, M. Suen, H. Abdeen, A. et al., Package Surface Blueprints: Visually Supporting the Understanding of Package Relationships, 2007 IEEE International Conference on Software Maintenance, pp.94-103, 2007.
DOI : 10.1109/ICSM.2007.4362622

S. Eick, T. Graves, A. Karr, J. Marron, and A. Mockus, Does code decay? Assessing the evidence from change management data, IEEE Transactions on Software Engineering, vol.27, issue.1, pp.1-12, 2001.
DOI : 10.1109/32.895984

S. Eick, T. Graves, A. Karr, A. Mockus, and P. Schuster, Visualizing software changes, IEEE Transactions on Software Engineering, vol.28, issue.4, pp.396-412, 2002.
DOI : 10.1109/TSE.2002.995435

T. Emerson, A discriminant metric for module cohesion, International Conference on Software Engineering (ICSE), 1984.

A. Farrugia, Vertex-partitioning into fixed additive induced-hereditary properties is np-hard. the electronic journal of combinatorics, 2004.

M. C. Feathers, Working Effectively with Legacy Code, 2005.
DOI : 10.1007/978-3-540-27777-4_42

N. Fenton and S. L. Pfleeger, Software Metrics: A Rigorous and Practical Approach, 1996.
DOI : 10.1201/b17461

J. A. Ferland and D. Costa, Heuristic search methods for combinatorial programming problems, 2001.

D. Flanagan, Java In a Nutshell: 3rd Edition, 1999.

M. Fowler, Reducing coupling, IEEE Software, vol.18, issue.4, pp.102-104, 2001.
DOI : 10.1109/MS.2001.936226

M. Fowler, K. Beck, J. Brant, W. Opdyke, and D. Roberts, Refactoring: Improving the Design of Existing Code, 1999.
DOI : 10.1007/3-540-45672-4_31

J. Froehlich and P. Dourish, Unifying artifacts and activities in a visual tool for distributed software development teams, Proceedings. 26th International Conference on Software Engineering, pp.387-396, 2004.
DOI : 10.1109/ICSE.2004.1317461

T. Gîrba, A. Kuhn, M. Seeberger, and S. Ducasse, How Developers Drive Software Evolution, Eighth International Workshop on Principles of Software Evolution (IWPSE'05), pp.113-122, 2005.
DOI : 10.1109/IWPSE.2005.21

W. G. Griswold and D. Notkin, Automated assistance for program restructuring, ACM Transactions on Software Engineering and Methodology, vol.2, issue.3, pp.228-269, 1993.
DOI : 10.1145/152388.152389

M. Harman, The Current State and Future of Search Based Software Engineering, Future of Software Engineering (FOSE '07), pp.342-357, 2007.
DOI : 10.1109/FOSE.2007.29

M. Harman and R. Hierons, A new representation and crossover operator for search-based optimization of software modularization, the Genetic and Evolutionary Computation Conference (GECCO), pp.1351-1358, 2002.

M. Harman and L. Tratt, Pareto optimal search based refactoring at the design level, Proceedings of the 9th annual conference on Genetic and evolutionary computation , GECCO '07, pp.1106-1113, 2007.
DOI : 10.1145/1276958.1277176

E. Hautus, Improving Java software through package structure analysis, International Conference Software Engineering and Applications, 2002.

C. G. Healey, Visualization of Multivariate Data Using Preattentive Processing, 1992.

C. G. Healey, K. S. Booth, and J. Enns, Harnessing preattentive processes for multivariate data visualization, Proceedings of Graphics Interface (GI), pp.107-117, 1993.

C. G. Healey, K. S. Booth, and J. T. Enns, Visualizing real-time multivariate data using preattentive processing, ACM Transactions on Modeling and Computer Simulation, vol.5, issue.3, pp.190-221, 1995.
DOI : 10.1145/217853.217855

B. Henderson-sellers, Object-Oriented Metrics: Measures of Complexity, 1996.

A. K. Jain, M. N. Murty, F. , and P. J. , Data clustering: a review, ACM Computing Surveys, vol.31, issue.3, pp.31-264, 1999.
DOI : 10.1145/331499.331504

S. Kirkpatrick, C. D. Jr, and M. P. Vecchi, Optimization by Simulated Annealing, Science, vol.220, issue.4598, pp.671-680, 1983.
DOI : 10.1126/science.220.4598.671

A. Kuhn, S. Ducasse, and T. Gîrba, Semantic clustering: Identifying topics in source code, Information and Software Technology, vol.49, issue.3, pp.230-243, 2007.
DOI : 10.1016/j.infsof.2006.10.017

A. Kuhn, P. Loretan, and O. Nierstrasz, Consistent Layout for Thematic Software Maps, 2008 15th Working Conference on Reverse Engineering, pp.209-218, 2008.
DOI : 10.1109/WCRE.2008.45

G. Langelier, H. Sahraoui, and P. Poulin, Visualization-based analysis of quality for large-scale software systems, Proceedings of the 20th IEEE/ACM international Conference on Automated software engineering , ASE '05, pp.214-223, 2005.
DOI : 10.1145/1101908.1101941

M. Lanza, The evolution matrix, Proceedings of the 4th international workshop on Principles of software evolution , IWPSE '01, pp.37-42, 2001.
DOI : 10.1145/602461.602467

M. Lanza, Object-Oriented Reverse Engineering ? Coarse-grained, Fine-grained, and Evolutionary Software Visualization, 2003.

M. Lanza and S. Ducasse, Beyond language independent object-oriented metrics: Model independent metrics, Proceedings of the 6th International Workshop on Quantitative Approaches in Object-Oriented Software Engineering, pp.77-84, 2002.

M. Lanza and S. Ducasse, Polymetric views - A lightweight visual approach to reverse engineering, IEEE Transactions on Software Engineering, vol.29, issue.9, pp.782-795, 2003.
DOI : 10.1109/TSE.2003.1232284

M. Lanza and R. Marinescu, Object-Oriented Metrics in Practice, 2006.

J. Laval, A. Bergel, and S. Ducasse, Assessing the quality of your software with moqam, FAMOOSr, 2nd Workshop on FAMIX and Moose in Reengineering, pp.28-31, 2008.
URL : https://hal.archives-ouvertes.fr/inria-00498482

J. Laval, S. Denier, S. Ducasse, and A. Bergel, Identifying Cycle Causes with Enriched Dependency Structural Matrix, 2009 16th Working Conference on Reverse Engineering, 2009.
DOI : 10.1109/WCRE.2009.11

URL : https://hal.archives-ouvertes.fr/inria-00498446

M. Lehman and L. Belady, Program evolution, Information Processing & Management, vol.20, issue.1-2, 1985.
DOI : 10.1016/0306-4573(84)90037-2

X. Liu, S. Swift, and A. Tucker, Using evolutionary algorithms to tackle large scale grouping problems, the Genetic and Evolutionary Computation Conference (GECCO), pp.454-460, 2001.

C. Lung, X. Xu, M. Zaman, and A. Srinivasan, Program restructuring using clustering techniques, Journal of Systems and Software, vol.79, issue.9, pp.1261-1279, 2006.
DOI : 10.1016/j.jss.2006.02.037

M. Lungu, M. Lanza, and T. Gîrba, Package patterns for visual architecture recovery, Conference on Software Maintenance and Reengineering (CSMR'06), pp.185-196, 2006.
DOI : 10.1109/CSMR.2006.39

R. Lutz, Evolving good hierarchical decompositions of complex systems, Journal of Systems Architecture, vol.47, issue.7, pp.613-634, 2001.
DOI : 10.1016/S1383-7621(01)00019-4

A. Maccormack, J. Rusnak, and C. Y. Baldwin, Exploring the Structure of Complex Software Designs: An Empirical Study of Open Source and Proprietary Code, Management Science, vol.52, issue.7, pp.1015-1030, 2006.
DOI : 10.1287/mnsc.1060.0552

H. Maini, K. Mehrotra, C. Mohan, R. , and S. , Genetic algorithms for graph partitioning and incremental graph partitioning, Supercomputing, pp.449-457, 1994.

S. Mancoridis and B. S. Mitchell, Using automatic clustering to produce high-level system organizations of source code, Proceedings. 6th International Workshop on Program Comprehension. IWPC'98 (Cat. No.98TB100242), pp.45-52, 1998.
DOI : 10.1109/WPC.1998.693283

S. Mancoridis, B. S. Mitchell, Y. Chen, and E. R. Gansner, Bunch: a clustering tool for the recovery and maintenance of software system structures, Proceedings IEEE International Conference on Software Maintenance, 1999 (ICSM'99). 'Software Maintenance for Business Change' (Cat. No.99CB36360), pp.50-59, 1999.
DOI : 10.1109/ICSM.1999.792498

R. C. Martin, Design principles and design patterns, 2000.

R. C. Martin, Agile Software Development. Principles, Patterns, and Practices, 2002.

R. C. Martin, The tipping point: Stability and instability in oo design, 2005.

H. Melton and E. Tempero, The crss metric for package design quality, the Australian Computer Science Conference (ACSC), pp.201-210, 2007.

B. Meyer, The new culture of software development: Reflections on the practice of object-oriented design, Proceedings TOOLS, pp.13-23, 1989.

B. S. Mitchell, A heuristic search approach to solving the software clustering problem, 2002.

B. S. Mitchell and S. Mancoridis, Using heuristic search techniques to extract design abstractions from source code, the Genetic and Evolutionary Computation Conference (GECCO), pp.1375-1382, 2002.

B. S. Mitchell and S. Mancoridis, On the automatic modularization of software systems using the Bunch tool, IEEE Transactions on Software Engineering, vol.32, issue.3, pp.193-208, 2006.
DOI : 10.1109/TSE.2006.31

B. S. Mitchell and S. Mancoridis, On the evaluation of the bunch searchbased software modularization algorithm. Soft Computing -A Fusion of Foundations, Methodologies and Applications, pp.77-93, 2008.

B. S. Mitchell, S. Mancoridis, and M. Traverso, Using Interconnection Style Rules to Infer Software Architecture Relations, the Genetic and Evolutionary Computation Conference (GECCO), pp.1375-1387, 2004.
DOI : 10.1007/978-3-540-24855-2_158

V. B. Mi?i´cmi?i´c, Cohesion is structural, coherence is functional: Different views, different measures, International Software Metrics Symposium (METRICS), 2001.

K. Morris, Metrics for Object-Oriented Software Development Environments, 1989.

G. J. Myers, Composite/Structured Design, 1978.

O. 'keeffe, M. Cinnéide, and M. O. , Search-based software maintenance, European Conference on Software Maintenance and Reengineering (CSMR), pp.249-260, 2006.

O. 'keeffe, M. Cinnéide, and M. O. , Search-based refactoring for software maintenance, Journal of Systems and Software, vol.81, issue.4, pp.502-516, 2008.

D. L. Parnas, On the criteria to be used in decomposing systems into modules, Communications of the ACM, vol.15, issue.12, pp.1053-1058, 1972.
DOI : 10.1145/361598.361623

S. Patel, W. Chu, and R. Baxter, A measure for composite module cohesion, Proceedings of the 14th international conference on Software engineering , ICSE '92, pp.38-48, 1992.
DOI : 10.1145/143062.143086

M. Petre, Why looking isn't always seeing: readership skills and graphical programming, Communications of the ACM, vol.38, issue.6, pp.33-44, 1995.
DOI : 10.1145/203241.203251

M. Pinzger, H. Gall, M. Fischer, and M. Lanza, Visualizing multiple evolution metrics, Proceedings of the 2005 ACM symposium on Software visualization , SoftVis '05, pp.67-75, 2005.
DOI : 10.1145/1056018.1056027

D. Pollet, S. Ducasse, L. Poyet, I. Alloui, S. Cîmpan et al., Towards A Process-Oriented Software Architecture Reconstruction Taxonomy, 11th European Conference on Software Maintenance and Reengineering (CSMR'07), pp.137-148, 2007.
DOI : 10.1109/CSMR.2007.50

L. Ponisio and O. Nierstrasz, Using context information to re-architect a system, Software Measurement European Forum (SMEF), pp.91-103, 2006.

M. L. Ponisio, Exploiting Client Usage to Manage Program Modularity, 2006.

R. S. Pressman, Software Engineering: A Practitioner's Approach, 1994.

L. Rising and F. W. Calliss, Problems with determining package cohesion and coupling. Software -Practice and Experience, pp.553-571, 1992.

N. Sangal, E. Jordan, V. Sinha, J. , and D. , Using dependency models to manage complex software architecture, ACM SIGPLAN conference on Object Oriented Programming Systems Languages and Applications (OOPSLA), pp.167-176, 2005.

O. Seng, M. Bauer, M. Biehl, and G. Pache, Search-based improvement of subsystem decompositions, Proceedings of the 2005 conference on Genetic and evolutionary computation , GECCO '05, pp.1045-1051, 2005.
DOI : 10.1145/1068009.1068186

G. G. Serban and . Czibula, Restructuring software systems using clustering, 2007 22nd international symposium on computer and information sciences, pp.1-6, 2007.
DOI : 10.1109/ISCIS.2007.4456872

W. P. Stevens, G. J. Myers, C. , and L. L. , Structured design, IBM Systems Journal, vol.13, issue.2, pp.115-139, 1974.
DOI : 10.1147/sj.132.0115

D. Steward, The design structure matrix: A method for managing the design of complex systems, IEEE Transactions on Engineering Management, vol.28, issue.3, pp.71-74, 1981.

M. D. Storey, D. Cubrani´ccubrani´c, G. , and D. M. , On the use of visualization to support awareness of human activities in software development, Proceedings of the 2005 ACM symposium on Software visualization , SoftVis '05, pp.193-202, 2005.
DOI : 10.1145/1056018.1056045

M. D. Storey, K. Wong, F. D. Fracchia, and H. A. Müller, On integrating visualization techniques for effective software exploration, Proceedings of VIZ '97: Visualization Conference, Information Visualization Symposium and Parallel Rendering Symposium, pp.38-48, 1997.
DOI : 10.1109/INFVIS.1997.636784

K. J. Sullivan, W. G. Griswold, Y. Cai, and B. Hallen, The structure and value of modularity in software design, ESEC/FSE-9, pp.99-108, 2001.

A. Treisman, Preattentive processing in vision, Computer Vision, Graphics, and Image Processing, vol.31, issue.2, pp.156-177, 1985.
DOI : 10.1016/S0734-189X(85)80004-9

E. R. Tufte, The Visual Display of Quantitative Information, 2001.

V. Tzerpo and R. C. Holt, The Orphan Adoption problem in architecture maintenance, Proceedings of the Fourth Working Conference on Reverse Engineering, p.76, 1997.
DOI : 10.1109/WCRE.1997.624578

L. Voinea, A. Telea, and J. J. Van-wijk, CVSscan, Proceedings of the 2005 ACM symposium on Software visualization , SoftVis '05, pp.47-56, 2005.
DOI : 10.1145/1056018.1056025

C. Ware, Information visualization: perception for design, 2000.

R. Wettel and M. Lanza, Program Comprehension through Software Habitability, 15th IEEE International Conference on Program Comprehension (ICPC '07), pp.231-240, 2007.
DOI : 10.1109/ICPC.2007.30

R. Wettel and M. Lanza, Visualizing Software Systems as Cities, 2007 4th IEEE International Workshop on Visualizing Software for Understanding and Analysis, pp.92-99, 2007.
DOI : 10.1109/VISSOF.2007.4290706

T. Wiggerts, Using clustering algorithms in legacy systems remodularization, Proceedings of the Fourth Working Conference on Reverse Engineering, pp.33-43, 1997.
DOI : 10.1109/WCRE.1997.624574

C. Wysseier, Interactive 3-D Visualization of Feature-Traces, 2005.

X. Xie, D. Poshyvanyk, and A. Marcus, Visualization of CVS Repository Information, 2006 13th Working Conference on Reverse Engineering, pp.231-242, 2006.
DOI : 10.1109/WCRE.2006.55

E. Yourdon, Classics in Software Engineering, 1979.