Volume bounded by plane and mesh

How do you calculate the volume bounded by a plane and a mesh boundary?
For instance, you have a surface with a pattern of pimples and dimples and a plane that cuts through these. BooleanMeshSplit will split off the pimples (convex regions clipped by the plane) so that their volume can be measured. But how do you measure the volume of the dimples (concave regions capped by the plane)? And can these two volumes be measured in one operation (since BooleanMeshSplit is already quite slow)?