In order to utilize the semantics of object methods to ensure cached object consistency, method group commutativity specifies the conditions under which a group of methods will commute. Method group commutativity is determined using a semantic specification of object methods, provided in terms of logical expressions, to create commutativity conjectures that are analyzed using the PVS theorem prover. This analysis results in the creation of a method commutativity specification (MCS), which is used by a distributed caching system to ensure the consistency of method invocations. For greater commutativity, weaker consistency requirements can be specified in the MCS. This base approach is enhanced by optimizations that consider a client's sequential execution of methods and that reduce the amount of data cached by the client. The effectiveness of method group commutativity and associated optimizations is evaluated using Java RMI application benchmarks.