We propose a new algorithm for verifying concurrent programs, which uses concrete executions to partition the program into a set of lean partitions called concurrent trace program...
The results of a machine learning from user behavior can be thought of as a program, and like all programs, it may need to be debugged. Providing ways for the user to debug it mat...
Software maintenance tasks typically involve an important amount of program investigation effort on the part of software developers. To what extent can we benefit from prior prog...
Bug patterns are erroneous code idioms or bad coding practices that have been proved fail time and time again. They mainly arise from the misunderstanding of language features, th...
Aspect-oriented software development is gaining popularity with the adoption of languages such as AspectJ. Testing is an important part in any software development, including aspe...
Tao Xie, Jianjun Zhao, Darko Marinov, David Notkin