skip to main content
10.1145/1409720.1409745acmconferencesArticle/Chapter ViewAbstractPublication PagessoftvisConference Proceedingsconference-collections
research-article

Visually localizing design problems with disharmony maps

Published:16 September 2008Publication History

ABSTRACT

Assessing the quality of software design is difficult, as "design" is expressed through guidelines and heuristics, not rigorous rules. One successful approach to assess design quality is based on detection strategies, which are metrics-based composed logical conditions, by which design fragments with specific properties are detected in the source code. Such detection strategies, when executed on large software systems usually return large sets of artifacts, which potentially exhibit one or more "design disharmonies", which are then inspected manually, a cumbersome activity.

In this article we present disharmony maps, a visualization-based approach to locate such flawed software artifacts in large systems. We display the whole system using a 3D visualization technique based on a city metaphor. We enrich such visualizations with the results returned by a number of detection strategies, and thus render both the static structure and the design problems that affect a subject system. We evaluate our approach on a number of open-source Java systems and report on our findings.

References

  1. Alam, S., and Dugerdil, P. 2007. Evospaces visualization tool: Exploring software architecture in 3d. In Proceedings of WCRE 2007, IEEE CS Press, 269--270. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Andrews, K., Wolte, J., and Pichler, M. 1997. Information pyramids: A new approach to visualising large hierarchies. In Proceedings of VIS 1997, IEEE CS Press, 49--52.Google ScholarGoogle Scholar
  3. Balzer, M., Noack, A., Deussen, O., and Lewerentz, C. 2004. Software landscapes: Visualizing the structure of large software systems. In Proceedings of VisSym 2004, Eurographics Association, 261--266. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Beck, K. 2000. Extreme Programming Explained: Embrace Change. Addison Wesley. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Bentley, J. L. 1975. Multidimensional binary search trees used for associative searching. Commun. ACM 18, 9, 509--517. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Bieman, J., and Kang, B. 1995. Cohesion and reuse in an object-oriented system. In Proceedings of the ACM Symposium on Software Reusability, ACM Press. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Boccuzzo, S., and Gall, H. C. 2007. Cocoviz: Towards cognitive software visualizations. In Proceedings of VISSOFT 2007, IEEE CS Press, 72--79.Google ScholarGoogle Scholar
  8. Briand, L. C., Daly, J. W., and Wüst, J. 1998. A Unified Framework for Cohesion Measurement in Object-Oriented Systems. Empirical Software Engineering: An International Journal 3, 1, 65--117. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Charters, S. M., Knight, C., Thomas, N., and Munro, M. 2002. Visualisation for informed decision making; from code to components. In Proceedings of SEKE 2002, ACM Press, 765--772. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Chidamber, S. R., and Kemerer, C. F. 1994. A metrics suite for object oriented design. IEEE Transactions on Software Engineering 20, 6 (June), 476--493. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Chikofsky, E., and Cross II, J. 1990. Reverse engineering and design recovery: A taxonomy. IEEE Software 7, 1, 13--17. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Demeyer, S., Tichelaar, S., and Ducasse, S. 2001. FAMIX 2.1 --- The FAMOOS Information Exchange Model. Tech. rep., University of Bern.Google ScholarGoogle Scholar
  13. Ducasse, S., Gírba, T., and Nierstrasz, O. 2005. Moose: an agile reengineering environment. In Proceedings of ESEC/FSE 2005, 99--102. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Eick, S. G., Steffen, J. L., and Eric E., Jr., S. 1992. SeeSoft---a tool for visualizing line oriented software statistics. IEEE Transactions on Software Engineering 18, 11 (Nov.), 957--968. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Eick, S., Graves, T., Karr, A., Marron, J., and Mockus, A. 2001. Does code decay? assessing the evidence from change management data. IEEE Transactions on Software Engineering 27, 1, 1--12. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Erlikh, L. 2000. Leveraging legacy system dollars for e-business. IT Professional 2, 3, 17--23. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Fowler, M., Beck, K., Brant, J., Opdyke, W., and Roberts, D. 1999. Refactoring: Improving the Design of Existing Code. Addison Wesley. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Gamma, E., Helm, R., Johnson, R., and Vlissides, J. 1995. Design Patterns: Elements of Reusable Object-Oriented Software. Addison Wesley. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. Knight, C., and Munro, M. C. 2000. Virtual but visible software. In Proceedings of IV 2000, IEEE CS Press, 198--205. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Langelier, G., Sahraoui, H. A., and Poulin, P. 2005. Visualization-based analysis of quality for large-scale software systems. In Proceedings of ASE 2005, ACM Press, 214--223. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. Lanza, M., and Ducasse, S. 2003. Polymetric views---a lightweight visual approach to reverse engineering. Transactions on Software Engineering (TSE) 29, 9 (Sept.), 782--795. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. Lanza, M., and Marinescu, R. 2006. Object-Oriented Metrics in Practice. Springer-Verlag. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. Marcus, A., Feng, L., and Maletic, J. I. 2003. 3d representations for software visualization. In Proceedings of SoftVis 2003, ACM Press, 27--36. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. Marinescu, C., Marinescu, R., Mihancea, P. F., Ratiu, D., and Wettel, R. 2005. iPlasma: An integrated platform for quality assessment of object-oriented design. In Proceedings of ICSM 2005, Industrial & Tool Volume, IEEE CS Press, 77--80.Google ScholarGoogle Scholar
  25. Marinescu, R. 2004. Detection strategies: Metrics-based rules for detecting design flaws. In Proceedings of ICSM 2004, IEEE CS Press, 350--359. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. McCabe, T. 1976. A measure of complexity. IEEE Transactions on Software Engineering 2, 4 (Dec.), 308--320. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. Muller, H., and Klashinsky, K. 1988. Rigi: a system for programming-in-the-large. In Proceedings of ICSE 1988, ACM Press, 80--86. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. Panas, T., Berrigan, R., and Grundy, J. 2003. A 3d metaphor for software production visualization. In Proceedings of IV 2003, IEEE CS Press, 314. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. Pinzger, M., Gall, H., Fischer, M., and Lanza, M. 2005. Visualizing multiple evolution metrics. In Proceedings of SoftVis 2005, ACM Press, 67--75. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. Pinzger, M. 2005. ArchView --- Analyzing Evolutionary Aspects of Complex Software Systems. PhD thesis, Vienna University of Technology.Google ScholarGoogle Scholar
  31. Raţiu, D., Ducasse, S., Gîrba, T., and Marinescu, R. 2004. Using history information to improve design flaws detection. In Proceedings of CSMR 2004, IEEE CS Press, 223--232. Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. Riel, A. 1996. Object-Oriented Design Heuristics. Addison Wesley, Boston MA. Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. Santos, C. R. D., Gros, P., Abel, P., Loisel, D., Trichaud, N., and Paris, J. P. 2000. Mapping information onto 3d virtual worlds. In Proceedings of IV 2000, 379--386. Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. Shneiderman, B. 1992. Tree visualization with tree-maps: 2-d space-filling approach. ACM Trans. Graph. 11, 1, 92--99. Google ScholarGoogle ScholarDigital LibraryDigital Library
  35. van Gurp, J., and Bosch, J. 2002. Design erosion: problems and causes. Journal of Systems and Software 61, 2, 105--119. Google ScholarGoogle ScholarDigital LibraryDigital Library
  36. Wettel, R., and Lanza, M. 2007. Program comprehension through software habitability. In Proceedings of ICPC 2007, IEEE CS Press, 231--240. Google ScholarGoogle ScholarDigital LibraryDigital Library
  37. Wettel, R., and Lanza, M. 2007. Visualizing software systems as cities. In Proceedings of VISSOFT 2007, IEEE CS Press, 92--99.Google ScholarGoogle Scholar

Index Terms

  1. Visually localizing design problems with disharmony maps

            Recommendations

            Comments

            Login options

            Check if you have access through your login credentials or your institution to get full access on this article.

            Sign in
            • Published in

              cover image ACM Conferences
              SoftVis '08: Proceedings of the 4th ACM symposium on Software visualization
              September 2008
              228 pages
              ISBN:9781605581125
              DOI:10.1145/1409720

              Copyright © 2008 ACM

              Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

              Publisher

              Association for Computing Machinery

              New York, NY, United States

              Publication History

              • Published: 16 September 2008

              Permissions

              Request permissions about this article.

              Request Permissions

              Check for updates

              Qualifiers

              • research-article

              Acceptance Rates

              Overall Acceptance Rate20of65submissions,31%

            PDF Format

            View or Download as a PDF file.

            PDF

            eReader

            View online with eReader.

            eReader