A comprehensive approach to naming and accessibility in refactoring java programsMax SchäferAndreas Thieset al.2012IEEE TSE