Abstracting the blogosphere

Abpost .n. Abstract of a post

Archive for the ‘Design’ Category

Testing Concurrent Programs

Posted by suntzu on October 5, 2006

In a recent article titled “Testing Concurrent Programs, Brian Goetz writes about testing concurrent code and explains why it is not for faint of hearts. The first step toward testing the behavior of concurrent programs is to isolate concurrency to well-defined portions of the code, such as into workflow managers, resource pools, or work queues.

Enforcing thread-safety of objects inside those concurrent constructs is the responsibility of the application. The best way to achieve thread safety of objects interacting with concurrent program elements is to make those objects immutable. If an immutable object interface is not feasible, Goetz suggests making such objects effectively immutable:

Goetz also makes a few suggestions for testing classes whose states are modified by concurrent threads. The most interesting suggestion is to take into account the probabilistic nature of concurrent errors in testing

A good post.  Must read


Posted in concurrency, Design, People, Startup | Leave a Comment »

Martin Fowler

Posted by suntzu on August 31, 2006

Martine Fowlers is regarded as the guru of Enterprise software. He writes about object-oriented development, refactoring, patterns, agile methods, enterprise application architecture, domain modeling, and extreme programming. In his article about writing patterns, he summarized common problems while writing or documenting patterns. He empahsised the importance of proper structure, focus and language of pattern writing. He gives importance towards task oriented rather than tools oriented patterns writing.

Posted in Design | Leave a Comment »