Nessuno, o meglio, la semantica del programma. Che domande sono? Il comportamento di un programma dovrebbe essere documentato, non c'è un dio dei computer che sta attento a che un programma non faccia cose strane.
Nessuno mi impedisce di scrivere un programma che abbia un pulsante download che invece di scaricare qualcosa svuoti il cestino: semplicemente, come programma non avrà nessun successo perché non fa quello che l'utente si aspetta che faccia.