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...
Coping with huge amounts of data is one of the major problems in the context of software evolution. Current approaches reduce this complexity by filtering out irrelevant informatio...
Design patterns are widely recognized as important software development methods. Their use as software understanding tools, though generally acknowledged has been scarcely explore...
We report on our experiences in redesigning Scala’s collection libraries, focussing on the role that type systems play in keeping software architectures coherent over time. Type ...
When software is modified, during development and maintenance, it is regression tested to provide confidence that the changes did not introduce unexpected errors and that new feat...