Algebraic specification[1][2][3][4] is a software engineering technique for formally specifying system behavior. It was a very active subject of computer science research around 1980.[5]