Compilers: principles, techniques, and tools
Compilers: principles, techniques, and tools
Identifying the semantic and textual differences between two versions of a program
PLDI '90 Proceedings of the ACM SIGPLAN 1990 conference on Programming language design and implementation
Identifying syntactic differences between two programs
Software—Practice & Experience
Toward full life cycle control: adding maintenance measurement to the SEL
Journal of Systems and Software
Understanding and predicting the process of software maintenance release
Proceedings of the 18th international conference on Software engineering
Continuous profiling: where have all the cycles gone?
ACM Transactions on Computer Systems (TOCS)
Modern compiler implementation in Java
Modern compiler implementation in Java
Experimentation in software engineering: an introduction
Experimentation in software engineering: an introduction
Compiler techniques for code compaction
ACM Transactions on Programming Languages and Systems (TOPLAS)
Gamma system: continuous evolution of software after deployment
ISSTA '02 Proceedings of the 2002 ACM SIGSOFT international symposium on Software testing and analysis
Journal of Software Maintenance: Research and Practice
Semantic Diff: A Tool for Summarizing the Effects of Modifications
ICSM '94 Proceedings of the International Conference on Software Maintenance
Bug isolation via remote program sampling
PLDI '03 Proceedings of the ACM SIGPLAN 2003 conference on Programming language design and implementation
Gprof: A call graph execution profiler
SIGPLAN '82 Proceedings of the 1982 SIGPLAN symposium on Compiler construction
Large-scale collection of application usage data and user feedback to inform interactive software development
Scalable statistical bug isolation
Proceedings of the 2005 ACM SIGPLAN conference on Programming language design and implementation
Profiling Deployed Software: Assessing Strategies and Testing Opportunities
IEEE Transactions on Software Engineering
Techniques for Classifying Executions of Deployed Software to Support Software Engineering Tasks
IEEE Transactions on Software Engineering
Discovering and representing systematic code changes
ICSE '09 Proceedings of the 31st International Conference on Software Engineering
Feature Profiling for Evolving Systems
ICPC '11 Proceedings of the 2011 IEEE 19th International Conference on Program Comprehension
Hi-index | 0.00 |
Software systems contain unnecessary code. Its maintenance causes unnecessary costs. We present tool-support that employs dynamic analysis of deployed software to detect unused code as an approximation of unnecessary code, and static analysis to reveal its changes during maintenance. We present a case study on maintenance of unused code in an industrial software system over the course of two years. It quantifies the amount of code that is unused, the amount of maintenance activity that went into it and makes the potential benefit of tool support explicit, which informs maintainers that are about to modify unused code.