Software engineers often inspect program differences when reviewing others' code changes, when writing check-in comments, or when determining why a program behaves differentl...
The area of clone detection has considerably evolved over the last decade, leading to approaches with better results, but at the same time using more elaborate algorithms and tool...
We present a new automated white box fuzzing technique and a tool, BuzzFuzz, that implements this technique. Unlike standard fuzzing techniques, which randomly change parts of the...
In modern software systems, programs are obtained by dynamically assembling components. This has made it necessary to subject component providers to access-control restrictions. W...
Emmanuel Geay, Marco Pistoia, Takaaki Tateishi, Ba...
Features express the variabilities and commonalities among programs in a software product line (SPL). A feature model defines the valid combinations of features, where each combin...
Classic fault localization techniques can automatically provide information about the suspicious code blocks that are likely responsible for observed failures. This information is...
Context-aware Web services are currently emerging as an important technology for building innovative contextaware applications. Unfortunately, context-aware Web services are still...
Quan Z. Sheng, Sam Pohlenz, Jian Yu, Hoi S. Wong, ...
Superimposition is a composition technique that has been applied successfully in many areas of software development. Although superimposition is a general-purpose concept, it has ...
The documentation of API functions typically conveys detailed specifications for the benefit of interested readers. In some cases, however, it also contains usage directives, such...