Ciencias de la computación
La relación entre las ciencias de la computación y la ingeniería de software es un tema muy discutido, por disputas sobre lo que realmente significa el término "ingeniería de software" y sobre cómo se define a las ciencias de la computación. Algunas personas creen que la ingeniería de software sería un subconjunto de las ciencias de la computación. Otras, tomando en cuenta la relación entre otras disciplinas científicas y de la ingeniería, creen que el principal objetivo de las ciencias de la computación sería estudiar las propiedades del cómputo en general, mientras que el objetivo de la ingeniería de software sería diseñar cómputos específicos para lograr objetivos prácticos, con lo que se convertiría en disciplinas diferentes. Este punto de vista es el que sostiene, por ejemplo, Parnas (1998). Incluso hay otros que sostienen que no podría existir una ingeniería de software.
Ingeniería del software basada en búsqueda
Ingeniería del Software Basada en Búsqueda (ISBB), proviene del término originario inglés Search-Based Software Engineering (SBSE). Alude a la aplicación de técnicas de optimización ya utilizadas en otros campos de la ingeniería y de la ciencia, como algoritmos genéticos, simulated annealing o búsqueda tabú al campo de la Ingeniería del Software. El motivo para importar este tipo de metodologías es la interpretación de que la naturaleza de los problemas con los que a menudo se enfrenta la ingeniería del software cumple razonablemente con los requisitos para los que ese tipo de soluciones son aceptables, tales como problemas con muchos parámetros de decisión, con unas restricciones en contradicción e interrelacionadas y unos requisitos vagos o imprecisos donde se busca una solución óptima o casi óptima.