We present a general approach for automatically isolating the root causes of memory-related bugs in software. Our approach is based on the observation that most memory bugs involv...
Change impact analysis is a useful technique for software evolution. It determines the effects of a source editing session and provides valuable feedbacks to the programmers for m...
We have proposed the notion of software tag, which is a complex of various characteristic elements of software development project. Empirical data for the is collected and abstrac...
There exist numerous software visualization techniques that aim to facilitate program comprehension. One of the main concerns in every such software visualization is to identify r...
Test-case prioritization is a typical scenario of regression testing, which plays an important role in software maintenance. With the popularity of Web Services, integrating Web S...
Aspect-oriented programming (AOP) is gaining popularity with the wider adoption of languages such as AspectJ. During AspectJ software evolution, when regression tests fail, it may...
Since manual black-box testing of GUI-based APplications (GAPs) is tedious and laborious, test engineers create test scripts to automate the testing process. These test scripts in...