La mayor parte de los programas no se limitan a hacer un procesamiento de datos interno o a generar un conjunto de datos -- La mayor parte de los programas, más bien, toma un conjunto de datos de entrada y genera datos correspondientes de salida. Esto es natural, pero puede convertirse en problemático y peligroso cuando estos datos pueden afectar el proceso de ejecución de nuestro programa.
Para información más detallada al respecto, les sugiero revisar la documentación oficial -- [6]