There have been several prior research endevours against buffer overflows and to guard the stack. This is by no means an exhaustive list.