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.
Inteligencia de Software
La Inteligencia de Software es información sobre la condición estructural de los activos de software producida, a su vez, por software diseñado para analizar la estructura de la base de datos, "frameworks" y el código fuente para comprender y controlar mejor los sistemas de software complejos en entornos de tecnología de la información. De manera similar a Business Intelligence (o Inteligencia de Negocios, BI, por sus siglas en inglés), la Inteligencia de Software se produce mediante un conjunto de herramientas y técnicas de software para la extracción de datos y la estructura interna del software. Los resultados finales son información que utilizan las empresas y los interesados en el software para tomar decisiones informadas, la comunicación del estado del software, la medición de la eficiencia de las organizaciones de desarrollo de software y la prevención de catástrofes de software.