Understanding the Impact of Distribution in Object-Oriented Distributed Systems Using Structural Program Dependencies