Feature engineering deliberately stages the incorporation of elements of functionality into a system according to perceived user and market needs. Conventional refinement based techniques for feature engineering suffer from the need to have successive features build smoothly on their predecessors, since contradicting what has already been established is anathema for any refinement technique. Real feature engineering however must at times insist on such contradictions. Retrenchment offers a more flexible approach for capturing such less well behaved development steps within a formal framework that interworks smoothly with refinement, and a generic account of 'simple' feature engineering (encompassing situations in which operations may be dealt with, one at a time) is given, using a simple language to express feature oriented descriptions (FODs) of operations, and a simple rewriting formalism to express changes in the FOD. The generic account shows that under a set of reasonable assumptions, the retrenchments belong to the class of neat, default retrenchments. © 2010 Elsevier Inc. All rights reserved.
Banach, R., & Jeske, C. (2011). Simple feature engineering via neat default retrenchments. Journal of Logic and Algebraic Programming, 80(8), 453–480. https://doi.org/10.1016/j.jlap.2010.12.001