Intranet
Estudiantes
Internacionales
Inscripción online
Reserva de vacante
Solicitud de Información
Sobre carreras y programas
 
     
Eventos y Noticias  
 
  Ing. Esteban di Tada: Tecnología, mejor que subsidios  
 
EVENTOS
Actividades anteriores
NOTICIAS
Todas las noticias
   
 
 


Sección: IT Business
Publicación: Martes 13 de mayo de 2008
Volver     
    
 
Autora: Daniela López de Luise
Directora del IT-Lab de la Facultad de Ingeniería de la Universdad de Palermo.
Daniela López de Luise: Los horizontes de la Inteligencia Artificial

Entre las disciplinas que conforman la inteligencia artificial (IA) están las llamadas redes neuronales (RN), un modelo computacional surgido en los años '60 que emula de forma digital el comportamiento de las neuronas del cerebro humano.
Las redes neuronales han demostrado ser excelentes clasificadores y hoy, ante nuevos requerimientos de mercado en temas diversos como seguridad o Business Intelligence (BI), están siendo utilizadas en proyectos comerciales dada la gran habilidad que poseen para clasificar y reconocer patrones.

Una razón adicional Si bien hoy existen y se aplican herramientas, técnicas y metodologías de soporte a la calidad del software tales como programas de gestión de proyectos, revisores de código fuente, métricas de calidad, lenguajes orientados a objetos, herramientas test-case, auditoria de código fuente y otros, todos éstos requieren de una carga adicional tanto en tiempo como en presupuesto para el proyecto y nunca garantizan la ausencia o disminución de errores o niveles de objetividad razonables en los resultados.
Dado que las actividades relacionadas con la producción de software seguirán en aumento,¿por qué no dejar en manos de la inteligencia artificial tareas repetitivas tales como auditar código fuente para así recomendar correcciones a errores sistemáticos? Actualmente tareas de auditoria de código fuente se realizan en limitados casos y siempre se basan en la técnica de muestreo, es decir, sólo una porción del software es verificado, cuando la realidad es que para el desarrollo de todo un sistema participan varios programadores y, muchas veces, interviene más de un equipo para desarrollar o modificar un mismo componente.

En búsqueda de impulsar esta idea, el AI Group de la Facultad de Ingeniería de la UP está de-sarrollando una nueva herramienta de soporte a la calidad del software, un evaluador y clasificador de código fuente Java basado en técnicas de inteligencia artificial: el Analizador Java Inteligente (AJI). Es un sistema cuyo objetivo es dar soporte al desarrollo de código fuente con el propósito de mejorar la calidad del software a través de la inspección, calificación y clasificación de código fuente en forma totalmente automática.
El principio de todo Dividido en seis módulos, cuatro principales (núcleo) y dos secundarios (externos). El proceso de análisis del AJI comienza con el ingreso a través del módulo interfaz de los archivos de código fuente (ACF), el cual encapsula las palabras y símbolos de los ACF, serializando sincrónicamente y de forma transparente la información a procesar. A partir de los datos ingresados desde este módulo, un componente analizador sintáctico releva palabras clave e incrementa contadores según el contexto. Finalizado el proceso de conteo básico, otro elemento del sistema cuantifica cada archivo fuente aplicando métricas de software, algunas tradicionales y otras nuevas. Con esta medición la herramienta pondera según proximidad a la especificación del lenguaje y contrasta resultados según las reglas de codificación basadas en el paradigma de orientación a objetos. Así, se obtiene un modelo de caracterización común para cada archivo.
Finalmente una Red Neuronal Perceptrón Multicapa clasifica los archivos de código fuente según el valor numérico establecido en el procesamiento previo. El resultado de la clasificación ubica cada uno de los archivos fuente en uno de los cinco grupos de clases de programadores que fueron descubiertos previamente a partir de un procesamiento por clustering de una muestra compuesta por diversos estilos de codificación en lenguaje Java. La interfaz con el usuario es el Módulo de Información que emite reportes del análisis indicando gráficamente la clasificación y cuáles son los desvíos que definen la calificación otorgada.

Durante la fase de entrenamiento, la red neuronal aprende a clasificar utilizando el algoritmo de retropropagación; luego evalúa su precisión comparando el resultado con un grupo de archivos preclasificados denominados training-set. En promedio, la cantidad de archivos clasificados correctamente supera el 90%, lo cual es una marca de precisión destacable.

Actualidad y futuro Actualmente la línea de investigación apunta a ampliar la capacidad del prototipo desarrollando un motor de recomendaciones a partir de un sistema experto. Se trata de un módulo que infiere hechos a partir del análisis previo y recomienda a los programadores formas para corregir deficiencias en el código fuente.

La siguiente fase tiene como objetivo generar una versión de producción, orientada tanto al ámbito académico como al comercial, que pueda ser utilizada para evaluar proyectos de software durante fases tempranas, como herramienta para la toma de decisiones en la selección de un sistema de software o de referencia para certificar calidad.
     
 
 
2009
UNIVERSIDAD DE PALERMO
Prohibida la reproducción total ó parcial de imágenes y textos.
Términos y condiciones.
 
  Centros de Informes e Inscripción: Av. Córdoba 3501, esq. Mario Bravo |
Av. Santa Fe esq. Larrea 1079. Ciudad de Buenos Aires - Argentina |
También en el shopping Alto Palermo |
Tel: (5411) 4964-4600 | informes@palermo.edu