A major difficulty in compiler development regards the proper modularization of concerns among the various compiler phases. The traditional object-oriented development paradigm ha...
Crawling the web is deceptively simple: the basic algorithm is (a) Fetch a page (b) Parse it to extract all linked URLs (c) For all the URLs not seen before, repeat (a)?(c). Howev...
The pervasive usage of mobile devices and wireless networking support have enabled more and more Internet streaming services to all kinds of heterogeneous mobile devices. However,...
Vocal systems are a well-established reality. Examples of popular voice-based applications include helpdesk services, reservation systems, and vocal mailboxes. These services, tha...
Learning from software failures is an essential step towards the development of more reliable software systems and processes. However, as more intricate software systems are devel...