The recent years have seen several proposals aimed at placing the revision of logic programs within the belief change frameworks established for classical logic. A crucial challenge of this task lies in the nonmonotonicity of standard logic programming semantics. Existing approaches have thus used the monotonic characterisation via strong equivalence models to develop semantic revision operators, which however neglect any syntactic information. In this thesis, we bridge the gap between semantic and syntactic techniques by adapting three dierent types of constructions from classic belief change. Not only do they allow us to dene new model-based revision operators that preserve the structure of the programs involved, but they also facilitate a natural denition of contraction operators for logic programs. In particular, we introduce partial meet revision and contraction operators, ensconcement revision and contraction operators, and entrenchment revision and contraction operators for logic programs. We present a new translation of the AGM and belief base revision and contraction postulates to logic programs that is closer to the original formulation than existing translations.