Working Effectively with Legacy Code

Get more out of your legacy systems: more performance, functionality, reliability, and manageability   Is your code easy to change? Can you get nearly instantaneous feedback when you do change it? Do you understand it? If the answer to...

Effective Software Testing

50 Specific Ways to Improve Your Testing

Introduction to Reliable and Secure Distributed Programming

In modern computing a program is usually distributed among several processes. The fundamental challenge when developing reliable and secure distributed programs is to support the cooperation of processes required to execute a common task, even when some of these...