We present an efficient algorithm for maintaining the boundary and surface area of protein molecules as they undergo conformational changes. We also describe a robust implementation of the algorithm and report on experimental results with our implementation on proteins with hundreds of residues. Our work extends and combines two previous results: (i) controlled perturbation for static molecular surfaces, and (ii) data structures for self-collision testingand energy maintenance of proteins that change conformation. As our method keeps a highly accurate representation of the boundary surface and of the voids in the molecule, it can be useful in various applications, in particular in Monte Carlo Simulation. In addition we propose, analyze and implement an alternative method for efficiently recalculating the surface area under conformational (and hence topological) changes based on techniques for efficient dynamic maintenance of graph connectivity. This method greatly improves the running time of our algorithm on most inputs, as we demonstrate in the experiments reported here.