Dominators, super blocks, and program coverage
POPL '94 Proceedings of the 21st ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Effect of test set minimization on fault detection effectiveness
Software—Practice & Experience
Early field experience with the Software Reconnaissance technique for program comprehension
ICSM '96 Proceedings of the 1996 International Conference on Software Maintenance
Efficient coverage testing using global dominator graphs
Proceedings of the 1999 ACM SIGPLAN-SIGSOFT workshop on Program analysis for software tools and engineering
Reverse engineering of use case realizations in UML
SAC '00 Proceedings of the 2000 ACM symposium on Applied computing - Volume 2
χSuds-SDL: A Tool for Testing Software Architecture Specifications
Software Quality Control
An Integrated Solution for Creating Dependable Software
COMPSAC '00 24th International Computer Software and Applications Conference
?SUDS-SDL: A Tool for Diagnosis and Understanding Software Specifications
APSEC '99 Proceedings of the Sixth Asia Pacific Software Engineering Conference
A comparison of methods for locating features in legacy software
Journal of Systems and Software
Coverage testing software architectural design in SDL
Computer Networks: The International Journal of Computer and Telecommunications Networking - ITU-T system design languages (SDL)
A strategy to perform coverage testing of mobile applications
Proceedings of the 2006 international workshop on Automation of software test
Code-coverage guided prioritized test generation
Information and Software Technology
Architecture-Based Software Reliability Analysis: Overview and Limitations
IEEE Transactions on Dependable and Secure Computing
An automatically-generated run-time instrumenter to reduce coverage testing overhead
Proceedings of the 3rd international workshop on Automation of software test
Model-based performance analysis using block coverage measurements
Journal of Systems and Software
A family of code coverage-based heuristics for effective fault localization
Journal of Systems and Software
An approach to feature location in distributed systems
Journal of Systems and Software
IPv6 transition techniques for legacy application
MILCOM'06 Proceedings of the 2006 IEEE conference on Military communications
A scalable tool for efficient protocol validation and testing
Computer Communications
Reverse Engineering of Use Case Realizations in UML
ACM SIGSOFT Software Engineering Notes
Performance optimization of deployed software-as-a-service applications
Journal of Systems and Software
Hi-index | 4.10 |
Before January 1, 2000, hundreds of millions of lines of legacy code must be understood, modified, and retested to avoid software failures as the year changes from "99" to "00." This Year 2000 crisis is merely an acute phase of a chronic problem. Software engineers in general spend more than half their development time understanding, modifying, and retesting existing code. Software companies have not tapped an important resource in performing these tasks. Most software development projects have a set of regression tests to help find bugs in the next release. But tests can be used for more than just finding errors. Modern test analysis tools can extract from these and other tests a wealth of untapped information that can be useful in later software maintenance projects. In this article, we describe techniques that maintainers can use to enhance program understanding, debugging, and testing-the three most costly tasks in software maintenance. We have incorporated the techniques as part of Bellcore's XSuds tool suite, a software understanding and diagnosis system.