An empirical comparison of pie vs. linear menus
CHI '88 Proceedings of the SIGCHI Conference on Human Factors in Computing Systems
Heuristic evaluation of user interfaces
CHI '90 Proceedings of the SIGCHI Conference on Human Factors in Computing Systems
Designing the user interface (2nd ed.): strategies for effective human-computer interaction
Designing the user interface (2nd ed.): strategies for effective human-computer interaction
Agents that reduce work and information overload
Communications of the ACM
Refactoring: improving the design of existing code
Refactoring: improving the design of existing code
The humane interface: new directions for designing interactive systems
The humane interface: new directions for designing interactive systems
Heuristic evaluation of ambient displays
Proceedings of the SIGCHI Conference on Human Factors in Computing Systems
CSMR '01 Proceedings of the Fifth European Conference on Software Maintenance and Reengineering
Java Quality Assurance by Detecting Code Smells
WCRE '02 Proceedings of the Ninth Working Conference on Reverse Engineering (WCRE'02)
Impact of interruption style on end-user debugging
Proceedings of the SIGCHI Conference on Human Factors in Computing Systems
Bad Smells " Humans as Code Critics
ICSM '04 Proceedings of the 20th IEEE International Conference on Software Maintenance
Mylar: a degree-of-interest model for IDEs
Proceedings of the 4th international conference on Aspect-oriented software development
Building Usage Contexts During Program Comprehension
ICPC '06 Proceedings of the 14th IEEE International Conference on Program Comprehension
Supporting Refactoring Activities Using Histories of Program Modification
IEICE - Transactions on Information and Systems
Matching attentional draw with utility in interruption
Proceedings of the SIGCHI Conference on Human Factors in Computing Systems
Refactoring Tools and Complementary Techniques
AICCSA '06 Proceedings of the IEEE International Conference on Computer Systems and Applications
A catalogue of lightweight visualizations to support code smell inspection
Proceedings of the 4th ACM symposium on Software visualization
Visually localizing design problems with disharmony maps
Proceedings of the 4th ACM symposium on Software visualization
Refactoring Tools: Fitness for Purpose
IEEE Software
Ensemble: a recommendation tool for promoting communication in software teams
Proceedings of the 2008 international workshop on Recommendation systems for software engineering
Human-Computer Interaction
JDeodorant: Identification and Removal of Type-Checking Bad Smells
CSMR '08 Proceedings of the 2008 12th European Conference on Software Maintenance and Reengineering
How we refactor, and how we know it
ICSE '09 Proceedings of the 31st International Conference on Software Engineering
Utilising code smells to detect quality problems in TTCN-3 test suites
TestCom'07/FATES'07 Proceedings of the 19th IFIP TC6/WG6.1 international conference, and 7th international conference on Testing of Software and Communicating Systems
A visualization method of program dependency graph for identifying extract method opportunity
Proceedings of the 4th Workshop on Refactoring Tools
The code orb: supporting contextualized coding via at-a-glance views (NIER track)
Proceedings of the 33rd International Conference on Software Engineering
Evaluating interactive support for secure programming
Proceedings of the SIGCHI Conference on Human Factors in Computing Systems
Reconciling manual and automatic refactoring
Proceedings of the 34th International Conference on Software Engineering
Use, disuse, and misuse of automated refactorings
Proceedings of the 34th International Conference on Software Engineering
Improving software developers' fluency by recommending development environment commands
Proceedings of the ACM SIGSOFT 20th International Symposium on the Foundations of Software Engineering
Facilitating students' collaboration and learning in a question and answer system
Proceedings of the 2013 conference on Computer supported cooperative work companion
Why don't software developers use static analysis tools to find bugs?
Proceedings of the 2013 International Conference on Software Engineering
Degree-of-knowledge: Modeling a developer's knowledge of code
ACM Transactions on Software Engineering and Methodology (TOSEM)
Hi-index | 0.00 |
Code smells are characteristics of software that indicate that code may have a design problem. Code smells have been proposed as a way for programmers to recognize the need for restructuring their software. Because code smells can go unnoticed while programmers are working, tools called smell detectors have been developed to alert programmers to the presence of smells in their code, and to help them understand the cause of those smells. In this paper, we propose a novel smell detector called Stench Blossom that provides an interactive ambient visualization designed to first give programmers a quick, high-level overview of the smells in their code, and then, if they wish, to help in understanding the sources of those code smells. We also describe a laboratory experiment with 12 programmers that tests several hypotheses about our tool. Our findings suggest that programmers can use our tool effectively to identify smells and to make refactoring judgements. This is partly because the tool serves as a memory aid, and partly because it is more reliable and easier to use than heuristics for analyzing smells.