Los métodos formales relacionados con la investigación en ciencias de la computación ha producido resultados que se abstraen tanto del dominio del problema que no pueden aplicarse ni validarse.

¿Qué es la Investigación?

Las buenas prácticas de investigación sugieren que deberíamos empezar por definir nuestros términos. El diccionario Conciso de Oxford define la investigación como:

investigación. 1.a. la investigación sistemática y el estudio de materiales, fuentes, etc., con el fin de establecer hechos y llegar a nuevas conclusiones. b. el esfuerzo por descubrir nuevos o cotejar viejos hechos, etc., mediante el estudio científico de un tema o mediante un curso de investigación crítica.

Esta definición es útil porque se centra inmediatamente en el carácter sistemático de la investigación. En otras palabras, el significado mismo del término implica un método de investigación. Estos métodos o sistemas proporcionan esencialmente un modelo o estructura para el argumento lógico.

La dialéctica de la investigación

El nivel más alto de argumento lógico puede verse en la estructura del debate dentro de un campo particular. Cada contribución a ese debate corresponde a una de las tres categorías:

Tesis

Esto presenta la declaración original de una idea. Sin embargo, muy pocas contribuciones de investigación pueden afirmar la total originalidad. La mayoría toma prestadas ideas de trabajos anteriores, incluso si esa investigación se ha realizado en otra disciplina.

Antítesis

Esto presenta un argumento para cuestionar una tesis anterior. Típicamente, este argumento puede basarse en nuevas fuentes de evidencia y es típicamente de progreso dentro de un campo.

Síntesis

Esto busca formar un nuevo argumento a partir de las fuentes existentes. Típicamente, una síntesis podría resolver la aparente contradicción entre una tesis y una antítesis.

Problemas en la Aplicación del Enfoque Estándar en Ciencias de la Computación

Hay muchos problemas con el enfoque estándar del empirismo científico cuando se aplica a la ciencia de la computación. La principal objeción es que muchos aspectos de la informática desafían el uso de medidas probabilísticas cuando se analizan los resultados de las pruebas empíricas.

Por ejemplo, muchas medidas estadísticas dependen de la independencia entre cada prueba de una hipótesis. Es evidente que esas técnicas no pueden utilizarse cuando se intenta medir el rendimiento de cualquier sistema que intente optimizar su rendimiento a lo largo del tiempo; esto descarta los algoritmos de equilibrio de carga, etc.

En segundo lugar, puede ser difícil imponer condiciones experimentales estándar a los productos de la informática. Por ejemplo, si un programa se comporta de una manera en un conjunto de condiciones de funcionamiento, no hay garantía de que se comporte de la misma manera en otro conjunto de condiciones. Estas condiciones podrían bajar al nivel de las partículas alfa que golpean los chips de memoria.

En tercer lugar,cualquier intento de demostrar que un programa siempre satisface alguna propiedad estará casi con toda seguridad condenado al fracaso mediante las técnicas experimentales habituales. El número de posibles vías de ejecución, incluso a través de código simple, hace imposible probar las propiedades contra todas las vías de ejecución posibles.

Hipótesis y Creación de Prototipos

Un buen ejemplo de esta forma de dialéctica es el debate sobre la creación de prototipos. Por ejemplo, algunos autores han sostenido que los prototipos constituyen un medio útil para generar y evaluar nuevos diseños en las primeras etapas del proceso de desarrollo (tesis), (Fuchs, 1992).

Otros han presentado pruebas en contra de esta hipótesis sugiriendo que los clientes a menudo eligen características del entorno del prototipo sin considerar posibles alternativas (antítesis) (Hayes y Jones, 1989). Por consiguiente, un tercer grupo de investigadores ha desarrollado técnicas destinadas a reducir el sesgo hacia las características de los entornos de prototipado (síntesis) (Gravell y Henderson, 1996). La investigación en un campo progresa mediante la aplicación de métodos para probar, refutar y reevaluar los argumentos de esta manera.

Este enfoque se ha utilizado para apoyar muchos aspectos diferentes de la investigación dentro de la Ciencia de la Computación. Por ejemplo, Boehm, Gray y Seewaldt (1984) lo utilizaron para comparar la eficacia de las técnicas de especificación y creación de prototipos para la ingeniería de programas informáticos. Otros lo han utilizado para comparar la eficiencia de los algoritmos de búsqueda y clasificación. Los investigadores en materia de recuperación de información han desarrollado incluso métodos normalizados que incluyen conjuntos de pruebas bien conocidos para establecer las ganancias de rendimiento de los nuevos motores de búsqueda.

Modelos de argumentos

Un nivel más detallado de argumentación lógica puede verse en las estructuras del discurso que se utilizan para apoyar los trabajos individuales de tesis, antítesis o síntesis.

¿Pruebas por demostración?

Tal vez el modelo de investigación más intuitivo sea el de construir algo y luego dejar que ese artefacto sirva de ejemplo para una clase más general de soluciones. Hay numerosos ejemplos de este enfoque en el campo de la informática. Se puede argumentar que los problemas de la implantación de sistemas operativos multiusuario se resolvieron más mediante la aplicación y el crecimiento de UNIX que mediante un proceso más medido de investigación científica.

Sin embargo, hay muchas razones por las que este enfoque es un modelo de investigación insatisfactorio. La principal objeción es que conlleva altos riesgos. Por ejemplo, el artefacto puede fallar mucho antes de que sepamos algo sobre la conclusión que pretendemos apoyar. De hecho, a menudo se da el caso de que este enfoque ignora la formación de cualquier hipótesis o conclusión clara hasta después de que se construya el artefacto.

Falta de Hipótesis Clara

La falta de una hipótesis clara no tiene por qué ser la barrera que pueda parecer. El enfoque de prueba por demostración tiene mucho en común con la práctica actual de la ingeniería. El refinamiento iterativo puede ser utilizado para mover una implementación gradualmente hacia alguna solución deseada.

El problema clave aquí es que el desarrollo iterativo de un artefacto, a su vez, requiere un método o estructura. Esto se hace, típicamente, a través de técnicas de prueba que se basan en otros modelos de argumentos científicos.

Empirismo

La tradición empírica occidental puede verse como un intento de evitar la interpretación no dirigida de los artefactos. Ha producido el modelo de investigación más dominante desde el siglo XVII. Se puede resumir en las siguientes etapas:

Generación de hipótesis

Esto identifica explícitamente las ideas que serán probadas por la investigación.

Identificación del método

Esto identifica explícitamente las técnicas que se utilizarán para establecer la hipótesis. Esto es crítico porque debe ser posible que los compañeros revisen y critiquen la adecuación de los métodos que han elegido. La capacidad de repetir un experimento es una característica clave de una investigación empírica sólida.

Recopilación de resultados

Esto presenta y compila los resultados que se han recogido al seguir el método. Un concepto importante aquí es el de la significación estadística; si los resultados observados pueden o no deberse a la casualidad y no a un efecto observable.

Conclusión

Por último, las conclusiones se exponen como apoyo a la hipótesis o como rechazo de la misma. En el caso de que los resultados no apoyen una hipótesis, es importante recordar siempre que esto puede deberse a una debilidad en el método. A la inversa, los resultados satisfactorios pueden basarse en hipótesis incorrectas. Por lo tanto, es vital que todos los detalles de un método se pongan a disposición del examen por homólogos.

Prueba matemática en las Ciencias de la Computación

La insatisfacción con las técnicas de ensayo empírico ha llevado a muchos en la comunidad de investigación en ciencias de la computación a investigar otros medios de estructurar los argumentos en apoyo de determinadas conclusiones.

Estas reglas pueden aplicarse luego para determinar si una conclusión es o no una inferencia válida, dadas algunas afirmaciones iniciales sobre un programa o algún hardware.

El campo del razonamiento matemático es un área de investigación por derecho propio. Sin embargo, es posible identificar dos enfoques diferentes para el uso de la prueba formal como técnica de investigación en la ciencia de la computación:

El argumento de la verificación

Este intenta establecer que alguna propiedad buena se mantendrá en un sistema dado. El problema aquí es que si el humano no puede construir una prueba, esto no implica que la conclusión sea inválida. Simplemente que no han podido probarla. Otra persona podría ser capaz de construir el argumento matemático necesario.

El argumento de refutación

En lugar de intentar probar la corrección de un argumento, este enfoque intenta refutarlo. Típicamente, esto se hace estableciendo una descripción del comportamiento previsto del sistema. Los instrumentos de comprobación de modelos exploran entonces automáticamente el espacio de estado de la aplicación propuesta en un intento de encontrar una situación en la que la conclusión deseada no se sostiene.

Desventajas de las Técnicas de la Comprobación Matemática

Los atractivos de las técnicas de comprobación matemática son muy fuertes. Proporcionan un marco coherente para analizar las cuestiones de investigación en la ciencia de la computación. También establecen explícitamente los criterios para las inferencias válidas, así como las condiciones ambientales, que restringen el alcance y la aplicabilidad del proceso de razonamiento. Sin embargo, hay muchos problemas que limitan la utilidad de este enfoque como herramienta de investigación general.

El primero es que hay que tener un cuidado increíble en la interpretación de los resultados de la prueba matemática. Los métodos formales no son más que un sistema de argumentación y es de esperar que se cometan errores. Los problemas surgen porque los errores pueden ser muy difíciles de detectar dada la compleja naturaleza de las matemáticas que se utilizan a menudo. Recordemos que un rasgo central del enfoque empírico era que se debía utilizar un examen abierto por homólogos para comprobar que su método era correcto.

El segundo problema del razonamiento formal es que su alcance es limitado. Los sistemas interactivos y de tiempo crítico plantean problemas especiales para la aplicación de las matemáticas. Estas cuestiones se están abordando, pero aún quedan muchos problemas por resolver.

El tercer problema se refiere al costo de la aplicación de las técnicas formales. Lleva mucho tiempo adquirir las habilidades necesarias. Del mismo modo, puede llevar varios meses realizar pruebas relativamente sencillas para aplicaciones de mediana a gran escala.

Por último, se puede argumentar que no hay un debate adecuado sobre los fallos de los métodos formales. Una vez más, es importante recordar que el hecho de no probar una hipótesis es un resultado valioso para las técnicas empíricas. Se han hecho afirmaciones exageradas por motivos formales, normalmente no por los propios investigadores, y muchas de esas afirmaciones han sido falsificadas. En consecuencia, los errores en la aplicación del razonamiento matemático pueden considerarse una fuente de vergüenza en lugar de una oportunidad de aprendizaje para los colegas y compañeros.

Hermenéutica

Las técnicas de prueba formal se basan en el desarrollo de un modelo matemático del artefacto que se está creando. Esto plantea importantes cuestiones sobre la relación entre ese modelo y la realidad que se pretende representar. Por ejemplo, si un modelo omite algún aspecto crítico del entorno de un programa, entonces se puede probar que es seguro, pero bien puede fallar cuando se implementa. La distancia entre los modelos matemáticos y la realidad es, popularmente, conocida como la brecha de la formalidad. La hermenéutica proporciona una alternativa que aborda este problema. Los métodos de investigación hermenéutica han sido pioneros en el campo de la sociología. El término en sí mismo significa:

"adjetivo relativo a la interpretación, especialmente de la Escritura o de los textos literarios". (The Oxford Concise Dictionary).

En la práctica, estos enfoques obligan a los investigadores a observar el funcionamiento y la utilización de un artefacto dentro del entorno de trabajo previsto. La premisa básica es que los modelos abstractos no sustituyen a la aplicación real. Del mismo modo, los resultados de los experimentos controlados no proporcionan resultados genéricos que puedan utilizarse con precisión para evaluar el rendimiento fuera de esos entornos controlados.

El Efecto Hawthorne en las Ciencias de la Computación

En particular, el efecto Hawthorne sugiere que las personas y, de hecho, los sistemas, se comportarán de manera muy diferente cuando se sitúen dentro de un entorno empírico. Las actividades de reparación y mantenimiento son muy diferentes para el equipo que se suministra en un entorno de laboratorio.

Los individuos reaccionan de manera diferente cuando saben que están siendo observados. La investigación hermenéutica, por lo tanto, se basa en la interpretación de los signos y las observaciones en el contexto de trabajo, más que en la explicitación de la pregunta a las personas sobre el rendimiento de sus sistemas. Las técnicas de hermenéutica instan a los investigadores a entrar en el lugar de trabajo. Llevado al extremo, el rendimiento de un algoritmo sólo podría evaluarse en ensayos de campo con conjuntos reales de datos sobre arquitecturas existentes con niveles "reales" de carga de otras aplicaciones.

Este énfasis en el análisis de una implementación final se asemeja mucho a la prueba por demostración. La principal diferencia, sin embargo, es que el investigador aborda el contexto de trabajo con una mente abierta y sin ninguna hipótesis establecida para probar o refutar (Burrows and Needham, 1987). Esto plantea problemas para la realización de investigaciones dirigidas porque los usuarios pueden no utilizar los programas de la manera que se pretendía. Por ejemplo, puede ser difícil demostrar que un motor de búsqueda es más rápido que otro si los usuarios abandonan continuamente sus solicitudes después de que se devuelven uno o dos artículos o si sólo utilizan esos motores de búsqueda una o dos veces en su día de trabajo.

Conclusiones y un camino a seguir...

Se dice que la informática es una disciplina inmadura. También se han vertido vastos recursos en el tema en un período de tiempo relativamente corto. Esto ha traído sorprendentes avances tanto en la ingeniería de hardware como en la de software.

En la búsqueda de objetivos tecnológicos, los investigadores han tomado prestados modelos de argumentos y discursos de disciplinas tan variadas como la filosofía, la sociología y las ciencias naturales. Esta falta de un marco de investigación acordado refleja la fuerza y la vitalidad de la ciencia de la computación. Un optimista podría argumentar que hemos aprendido mucho de la introducción de la hermenéutica en el campo del análisis de requisitos. Del mismo modo, se ha beneficiado de la introducción de modelos matemáticos de argumentación para especificar y verificar sistemas complejos.

Nuestros especialistas esperan por ti para que los contactes a través del formulario de cotización o del chat directo. También contamos con canales de comunicación confidenciales como WhatsApp y Messenger. Y si quieres estar al tanto de nuestros novedosos servicios y las diferentes ventajas de contratarnos, síguenos en Facebook, Instagram o Twitter.

Si este artículo fue de tu agrado, no olvides compartirlo por tus redes sociales.

Referencias Bibliográficas

B.W. Boehm, T.E. Gray and T. Seewaldt, Prototyping Vs. Specification: A Multi-Project Experiment, IEEE - Seventh Conference On Software Engineering, 473-484, Computer Society Press, Washington, United States of America, May, 1984.

Burrows, M. Abadi and R. Needham, A Logic of Authentication. ACM Transcations on Computer Systems, 8(1):18-36, 1990.

I.J. Hayes and C.B. Jones (1989), Specifications are not (necessarily) executable, Software Engineering Journal, 1989, 4, (6), pp. 330-338

C.W. Johnson, Literate Specification, Software Engineering Journal, 225-237, September, 1996.

También te puede interesar: Investigación en Contabilidad

Investigación en Ciencias de la Computación

Investigación en Ciencias de la Computación

Abrir chat
1
Bienvenido(a) a Online Tesis
Nuestros expertos estarán encantados de ayudarte con tu investigación ¡Contáctanos!