The C language is among the most widely used in the world, particularly for critical infrastructure software. C programs depend upon macros processed using the C preprocessor, but...
An important element of understanding a software code base is to identify the repetitive patterns of code it contains and how these evolve over time. Some patterns are useful to t...
There are many difficulties associated with developing correct multithreaded software, and many of the activities that are simple for single threaded software are exceptionally ha...
Most current software systems contain undocumented high-level ideas implemented across multiple files and modules. When developers perform program maintenance tasks, they often wa...
David Shepherd, Zachary P. Fry, Emily Hill, Lori L...
Detailed knowledge about implemented concerns in the source code is crucial for the cost-effective maintenance and successful evolution of large systems. Concern mining techniques...