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

A catalogue of lightweight visualizations to support code smell inspection

Published: 16 September 2008 Publication History

Abstract

Preserving the integrity of software systems is essential in ensuring future product success. Commonly, companies allocate only a limited budget toward perfective maintenance and instead pressure developers to focus on implementing new features. Traditional techniques, such as code inspection, consume many staff resources and attention from developers. Metrics automate the process of checking for problems but produce voluminous, imprecise, and incongruent results. An opportunity exists for visualization to assist where automated measures have failed; however, current software visualization techniques only handle the voluminous aspect of data but fail to address imprecise and incongruent aspects. In this paper, we describe several techniques for visualizing possible defects reported by automated inspection tools. We propose a catalogue of lightweight visualizations that assist reviewers in weeding out false positives. We implemented the visualizations in a tool called NOSEPRINTS and present a case study on several commercial systems and open source applications in which we examined the impact of our tool on the inspection process.

References

[1]
Crespo, Y., López, C., Marticorena, R., and Manso, E. 2005. Language independent metrics support towards refactoring inference. In QAOOSE '05: Proceedings of the Ninth ECOOP Workshop on Quantitative Approaches in Object-Oriented Software Engineering, 18--29.
[2]
Demeyer, S., Ducasse, S., and Lanza, M. 1999. A hybrid reverse engineering approach combining metrics and program visualization. In WCRE '99: Proceedings of the Sixth Working Conference on Reverse Engineering, 175--186.
[3]
Dromey, R. G. 1995. A model for software product quality. IEEE Transactions on Software Engineering 21, 2, 146--162.
[4]
Ducasse, S., Lanza, M., and Robbes, R. 2005. Multi-level method understanding using microprints. In VISSOFT '05: Proceedings of the 3rd IEEE International Workshop on Visualizing Software for Understanding and Analysis, 33--39.
[5]
Emden, E. V., and Moonen, L. 2002. Java quality assurance by detecting code smells. In WCRE '02: Proceedings of the Ninth Working Conference on Reverse Engineering, 97--106.
[6]
Flanagan, C., Leino, K. R. M., Lillibridge, M., Nelson, G., Saxe, J. B., and Stata, R. 2002. Extended static checking for Java. In PLDI '02: Proceedings of the ACM SIGPLAN 2002 Conference on Programming Language Design and Implementation, 234--245.
[7]
Fowler, M., Beck, K., Brant, J., Opdyke, W., and Roberts, D. 2001. Refactoring: Improving the Design of Existing Code. Addison-Wesley.
[8]
Johnson, S. 1978. Lint, a C program checker. Tech. rep., Bell Laboratories, Computer Science.
[9]
Kim, S., and Ernst, M. D. 2007. Which warnings should I fix first? In ESEC-FSE '07: Proceedings of the the 6th joint meeting of the European Software Engineering Conference and the ACM SIGSOFT Symposium on the Foundations of Software Engineering, 45--54.
[10]
Lanza, M., Marinescu, R., and Ducasse, S. 2005. Object-Oriented Metrics in Practice. Springer-Verlag New York, Inc.
[11]
Lanza, M. 2001. The evolution matrix: recovering software evolution using software visualization techniques. In IWPSE '01: Proceedings of the 4th International Workshop on Principles of Software Evolution, 37--42.
[12]
Mäntylä, M., Vanhanen, J., and Lassenius, C. 2003. A taxonomy and an initial empirical study of bad smells in code. In ICSM '03: Proceedings of the International Conference on Software Maintenance, 381--384.
[13]
Mäntylä, M. V., Vanhanen, J., and Lassenius, C. 2004. Bad smells - humans as code critics. In ICSM '04: Proceedings of the 20th IEEE International Conference on Software Maintenance, 399--408.
[14]
Mays, R. G. 1990. Applications of defect prevention in software development. IEEE Journal on Selected Areas in Communications 8, 2, 164--168.
[15]
Parnin, C., and Görg, C. 2006. Building usage contexts during program comprehension. In ICPC '06: Proceedings of the 14th IEEE International Conference on Program Comprehension, 13--22.
[16]
Parnin, C., and Görg, C. 2006. Lightweight visualizations for inspecting code smells. In SoftVis '06: Proceedings of the ACM Symposium on Software Visualization, 171--172.
[17]
Parnin, C., and Görg, C. 2008. Improving change descriptions with change contexts. In MSR '08: Proceedings of 5th Working Conference on Mining Software Repositories, 51--60.
[18]
Riel, A. J. 1996. Object-Oriented Design Heuristics. Addison-Wesley Longman Publishing Co., Inc., Boston, MA, USA.
[19]
Rutar, N., Almazan, C. B., and Foster, J. S. 2004. A comparison of bug finding tools for Java. In ISSRE '04: Proceedings of the 15th International Symposium on Software Reliability Engineering, 245--256.
[20]
Simon, F., Steinbrückner, F., and Lewerentz, C. 2001. Metrics based refactoring. In CSMR '01: Proceedings of the Fifth European Conference on Software Maintenance and Reengineering, 30--38.
[21]
Slinger, S. 2005. Code Smell Detection in Eclipse. Master's thesis, Department of Software Technology, Delft University of Technology, Netherlands.
[22]
Tourwé, T., and Mens, T. 2003. Identifying refactoring opportunities using logic meta programming. In CSMR '03: Proceedings of the Seventh European Conference on Software Maintenance and Reengineering, 91--100.

Cited By

View all
  • (2024)An Insight into Code Smell Detection ToolReliability Engineering for Industrial Processes10.1007/978-3-031-55048-5_17(245-273)Online publication date: 23-Apr-2024
  • (2022)Survey of Approaches for Postprocessing of Static Analysis AlarmsACM Computing Surveys10.1145/349452155:3(1-39)Online publication date: 3-Feb-2022
  • (2022)Studying Duplicate Logging Statements and Their Relationships With Code ClonesIEEE Transactions on Software Engineering10.1109/TSE.2021.306091848:7(2476-2494)Online publication date: 1-Jul-2022
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

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
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]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 16 September 2008

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. code inspection
  2. code smells
  3. lightweight visualization
  4. refactoring

Qualifiers

  • Research-article

Conference

Softvis '08

Acceptance Rates

Overall Acceptance Rate 20 of 65 submissions, 31%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)8
  • Downloads (Last 6 weeks)0
Reflects downloads up to 28 Jan 2025

Other Metrics

Citations

Cited By

View all
  • (2024)An Insight into Code Smell Detection ToolReliability Engineering for Industrial Processes10.1007/978-3-031-55048-5_17(245-273)Online publication date: 23-Apr-2024
  • (2022)Survey of Approaches for Postprocessing of Static Analysis AlarmsACM Computing Surveys10.1145/349452155:3(1-39)Online publication date: 3-Feb-2022
  • (2022)Studying Duplicate Logging Statements and Their Relationships With Code ClonesIEEE Transactions on Software Engineering10.1109/TSE.2021.306091848:7(2476-2494)Online publication date: 1-Jul-2022
  • (2021)A Systematic Literature Review on Bad Smells–5 W's: Which, When, What, Who, WhereIEEE Transactions on Software Engineering10.1109/TSE.2018.288097747:1(17-66)Online publication date: 1-Jan-2021
  • (2020)QScored: An Open Platform for Code Quality Ranking and Visualization2020 IEEE International Conference on Software Maintenance and Evolution (ICSME)10.1109/ICSME46990.2020.00101(818-821)Online publication date: Oct-2020
  • (2020)Multi‐view city‐based approach for code‐smell evolution visualisationIET Software10.1049/iet-sen.2020.001014:5(506-516)Online publication date: Oct-2020
  • (2019)Comparing the EvoStreets visualization technique in two D and three-dimensional environmentsProceedings of the 27th International Conference on Program Comprehension10.1109/icpc.2019.00042(231-242)Online publication date: 25-May-2019
  • (2019)CodeArenaProceedings of the Second International Conference on Technical Debt10.1109/TechDebt.2019.00023(68-70)Online publication date: 26-May-2019
  • (2019)DlfinderProceedings of the 41st International Conference on Software Engineering10.1109/ICSE.2019.00032(152-163)Online publication date: 25-May-2019
  • (2019)Linking code readability, structure, and comprehension among novicesProceedings of the 41st International Conference on Software Engineering: Software Engineering Education and Training10.1109/ICSE-SEET.2019.00017(84-94)Online publication date: 27-May-2019
  • Show More Cited By

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media