FECHA DE CLASIFICACIÓN: JUNIO DE 2007
UNIDAD RESPONSABLE: DIV. DE OPERACIÓN Y PROMOCIÓN A LA INVESTIGACIÓN
CARACTER CONFIDENCIAL
PARTES CONFIDENCIALES: CARÁTULA Y ANEXOS
FUNDAMENTO LEGAL: Art. 3 Fracc. II, Art. 18 Fracc. II y 21, LFTAIPG, Lineamiento 32º Fracc. VII, VIII, XVII
FIRMA DEL TITULAR DE LA UNIDAD:___________________________________
 
INSTITUTO POLITÉCNICO NACIONAL
SECRETARÍA DE INVESTIGACIÓN Y POSGRADO
PROTOCOLO PARA PROYECTOS DE INVESTIGACIÓN
(Enero 2015 - Diciembre 2015)

PROYECTO INDIVIDUAL   X   CORTO PLAZO   X  
PROYECTO EN PROGRAMA ESPECIAL      
PROYECTO DE INNOVACIÓN      
PROYECTO MULTIDISCIPLINARIO       MEDIANO PLAZO    
PROYECTO TRANSDISCIPLINARIO      
PROYECTO DE RED      
Información General del Proyecto de Investigación
  CIC    Departmento de Ciencias en la Computación 
Escuela, Centro o Unidad Sección. División o Departamento
Título
Compilación de un corpus de códigos de programas y su evaluación en la clasificación automática

Registro asignado por la SIP:  20151406     
Datos del director(a) del Proyecto de investigación:
  Sidorov     -     Grigori  
Apellido Paterno Apellido Materno Nombres
Tipo de plaza en el IPN:  Titular C - (BASE)  Grado académico:  Doctorado 
Horas de nombramiento:  40  RFC:  SIGR651028  CURP:  SIXG651028HNEDXR09 
SNI:  III  BECAS: COFAA  IV  EDD  ---  EDI  IX  (Indicar nivel)
Teléfono oficina (Ext):  56518  Teléfono particular:  5591887293 
Nivel académico en el que se realizará el Proyecto de Investigación:
Medio Superior         Superior         Posgrado    X   
Ubique su propuesta solamente en uno de los campos que a continuación se enuncian:
Ingeniería y Tecnología     X    Ciencias Sociales         
Ciencias Naturales          Ciencias Agrícolas         
Ciencias Médicas          Humanidades         
Clasificación CONACyT:
Sector:   Otros  
Subsector:   Otros  
Tipos de investigación:
Básica     X    Aplicada          Autoequipamiento         
Desarrollo Tecnológico          Educativa           
¿Su proyecto aborda los siguientes temas?
Perspectiva de Género      Sustentabilidad     Ninguno  X
  Grigori Sidorov -                                             
Director(a) del Proyecto de
Investigación
Vo. Bo. de la Academia o
Colegio de Profesores
Nombre y firma de Director(a) de la
Escuela, Centro o Unidad
Nota: El título deberá ser breve, conciso y representativo del tema central de investigación


La presentación deberá hacerse de acuerdo a la siguiente estructura:

1. Descripción del proyecto
1.1 Resumen
En este proyecto se compilará un corpus de códigos de programas en alguno de los lenguajes de programación que corresponden a un conjunto de tareas. La intención es tener varios códigos que resuelven el mismo problema, y tener un conjunto relativamente grande de problemas. Los problemas no deben ser muy difíciles, para no tener los códigos muy largos, pero tampoco serán triviales. Posteriormente se aprovechará el hecho que los códigos de programas son textos, aunque muy específicos y se aplicarán los métodos de procesamiento de lenguaje natural normalmente aplicados a los textos comunes. Se hará la evaluación de este corpus en el sentido de cálculo temático de similitud entre programas, tratando de obtener la clasificación de programas según los tipos de problemas que aquellos resuelvan. Se aplicarán varios métodos de clasificación automática de textos y selección de varios tipos de características.

1.2 Objetivo general
Esta investigación tiene como objetivo desarrollar un corpus de códigos de programas en alguno de los lenguajes de programación que resuelvan un conjunto de tareas. La intención es tener varios códigos que resuelven el mismo problema, y tener un conjunto relativamente grande de problemas. Posteriormente se hará la evaluación de este corpus empleando varios métodos de clasificación automática de textos (dado que los códigos de programas son textos, aunque muy específicos) y selección de varios tipos de características.

1.3 Objetivos específicos
1. Seleccionar el lenguaje de programación, donde haya una disponibilidad de códigos que resuelvan los mismos problemas.
2. Compilar un corpus de códigos de programas en este lenguaje para realizar pruebas.
3. Probar varios métodos de selección de características para la tarea de clasificación automática de códigos (n-gramas de varios tipos: de palabras clave, de caracteres, comentarios; y tamañ

2. Subproductos comprometidos
Nacional Internacional Nacional Internacional
Artículo de Divulgación  0   0  Artículo Científico  0   0 
Congresos  0   0  Seminiarios  0   0 
Cursos  0   0  Manuales  0   0 
Libros  0   0  Programa de Radio y TV  0   0 
Conferencias o Ponencias  0   0 
Piloto Laboratorio Piloto Laboratorio
Proceso  0   0  Prototipo  0   0 
Patente  0   0  Certificado de Invención  0   0 
Hardware  0   0  Software  0   0 
Medio       Superior Posgrado
Tesistas  0   0   0 
Practicantes Profesionales  0   0   0 
Alumnos PIFI  0   0   0 
Prestante de Servicio Social  0   0 
Otros (especificar)  0       
2. Subproductos comprometidos año 2
Nacional Internacional Nacional Internacional
Artículo de Divulgación  0   0  Artículo Científico  0   0 
Congresos  0   0  Seminiarios  0   0 
Cursos  0   0  Manuales  0   0 
Libros  0   0  Programa de Radio y TV  0   0 
Conferencias o Ponencias  0   0 
Piloto Laboratorio Piloto Laboratorio
Proceso  0   0  Prototipo  0   0 
Patente  0   0  Certificado de Invención  0   0 
Hardware  0   0  Software  0   0 
Medio       Superior Posgrado
Tesistas  0   0   0 
Practicantes Profesionales  0   0   0 
Alumnos PIFI  0   0   0 
Prestante de Servicio Social  0   0 
Otros (especificar)  0       
2. Subproductos comprometidos año 3
Nacional Internacional Nacional Internacional
Artículo de Divulgación  0   0  Artículo Científico  0   0 
Congresos  0   0  Seminiarios  0   0 
Cursos  0   0  Manuales  0   0 
Libros  0   0  Programa de Radio y TV  0   0 
Conferencias o Ponencias  0   0 
Piloto Laboratorio Piloto Laboratorio
Proceso  0   0  Prototipo  0   0 
Patente  0   0  Certificado de Invención  0   0 
Hardware  0   0  Software  0   0 
Medio       Superior Posgrado
Tesistas  0   0   0 
Practicantes Profesionales  0   0   0 
Alumnos PIFI  0   0   0 
Prestante de Servicio Social  0   0 
Otros (especificar)  0       
 3. Monto y distribución del presupuesto solicitado (anexar): honorarios (sólo centros foráneos), materiales y suministros, servicios generales y equipamiento (anexar cotización)

3.1 ¿Cuenta con financiamiento externo?
No    X   Si               

4. Recursos humanos. Investigadores y alumnos participantes.

  4.1 Investigadores participantes

Número Nombre Actividad específica a desarrollar
1 Grigori Sidorov - Director del proyecto
2 Ildar Batyrshin .
  
Coordinación de desarrollo del concepto para lenguajes de programación análogo a los n-gramas sintácticos en los lenguajes naturales
3 Aelxander Gelbukh .
  
Coordinación de esfuerzos de programación, ayuda en programación, ayuda en selección de la metodología de evaluación y desarrollo.
4 Obdulia Pichardo Lagunas
  
Coordinación de desarrollo de software de obtención de n-gramas tradicionales y n-gramas sintácticos continuos y no continuos aplicados a los códigos de programas. Coordinación de aplicación de los métodos de aprendizaje automático.


  4.2 Alumnos participantes

Número Nombre Status* Actividad específica a desarrollar
1 José Adriel Alonso Castro TS Programación de herramientas, interfaces y algoritmos. Aplicación de las herramientas existentes de análisis y clasificación.
2 Vanessa Camacho Vazquez TS Selección de los métodos automáticos de clasificación más relevantes, análisis de sus implementaciones disponibles, y su implementación/inclusión en el software desarrollado.
Selección y preparación de la línea base.
3 VANESSA ALEJANDRA CAMACHO VAZQUEZ PF Participación en metas.
4 Vcitor Carrera Trejo TS Programación de herramientas, interfaces y algoritmos. Aplicación de las herramientas existentes de análisis y clasificación.
5 Helena Gomez Adorno TS Desarrollo de software de obtención de n-gramas tradicionales y n-gramas sintácticos continuos y no continuos para los códigos.
Generación de archivos de entrada para los clasificadores automáticos con varios parámetros, también tomando en cuenta reducción de dimensiones (tipo LSA).
6 HELENA MONTSERRAT GÓMEZ ADORNO PF Participación en metas.
7 Hugo Librado Jacobo TS Programación de herramientas, interfaces y algoritmos. Aplicación de las herramientas existentes de análisis y clasificación.
8 ILIA MARKOV  PF Participación en metas.
9 Ilia Markov . TS Selección de códigos de programas en el lenguaje escogido y su marcación manual según las tareas que se resuelvan.
Análisis de las métricas de evaluación de los resultados y su aplicación
10 ILIA MARKOV . PF Participación en metas.
11 Fernando Monroy Tenorio TS Programación de herramientas, interfaces y algoritmos. Aplicación de las herramientas existentes de análisis y clasificación.
12 Juan Pablo Posadas Durán TS Programación de herramientas, interfaces y algoritmos. Aplicación de las herramientas existentes de análisis y clasificación.
13 Eduardo René Rodríguez Avila TS Programación de herramientas, interfaces y algoritmos. Aplicación de las herramientas existentes de análisis y clasificación.
14 Rodrigo Gabino Roriguez Moreno TS Programación de herramientas, interfaces y algoritmos. Aplicación de las herramientas existentes de análisis y clasificación.
15 Miguel Angel Sánchez Pérez TS Programación de herramientas, interfaces y algoritmos. Aplicación de las herramientas existentes de análisis y clasificación.

  * PIFIS(PF), Servicio Social (SS), Tesistas (TS), Prácticas Profesionales (PP), Alumnos Participantes (AP)

 5.Programación de Actividades de Investigación   (Enero 2015 - Diciembre 2015)

Número
de meta
Valor % de
cada meta
Descripción de actividades Mes de inicio Mes de terminación
1 5 Selección de un lenguaje de programación (C, C++, Pascal, Karel, Java, Python, P
Se analizarán varios lenguajes de programación desde el punto de vista de disponibilidad de un número significativo de programas, que resuelvan mismos problemas. Se seleccionará uno de los lenguajes.
Enero 2015 Enero 2015
2 15 Selección de códigos de programas en el lenguaje escogido y su marcación manual
Se seleccionarán los códigos de varios programas disponibles libremente. Se realizará marcación manual de estos programas con las tareas que aquellos resuelvan
Febrero 2015 Abril 2015
3 10 Selección de los métodos automáticos de clasificación más relevantes
Se seleccionarán o desarrollarán los métodos de clasificación automática, dependiendo de sus parámetros de uso y disponibilidad de su implementación. Se elegirán o se implementarán los métodos más relevantes
Febrero 2015 Abril 2015
4 15 Desarrollo del concepto para lenguajes de programación análogo a los n-gramas si
Proponer y desarrollar el concepto para lenguajes de programación análogo a los n-gramas sintácticos en los lenguajes naturales (por ejemplo, el código dentro de los ciclos o condiciones), considerar ejemplos y metalenguaje.
Febrero 2015 Abril 2015
5 10 Selección y preparación de la línea base
Analizar las posibilidades de seleccionar algún método sencillo y aplicarlo como línea base para posterior comparación.
Marzo 2015 Septiembre 2015
6 10 Preparación de publicaciones y reportes
Preparación de publicaciones y reportes
Marzo 2015 Diciembre 2015
7 15 Desarrollo de software de obtención de n-gramas
Se desarrollará un software que permite realizar el análisis de los datos y generar los n-gramas de varios tipos y de composición variada (palabras clave del lenguaje, nombres de variables, comentarios, caracteres, etc.). Es decir, se desarrollarán herramientas de extracción de las características de los códigos
Mayo 2015 Junio 2015
8 5 Generación de archivos de entrada para los clasificadores automáticos con varios
Generar los archivos de salida del algoritmo de selección de características, que al mismo tiempo serán los archivos de entrada de los clasificadores automáticos. Considerar los algoritmos de Weka. Aplicar el software desarrollado a los datos generados por el algoritmo. Considerar también la reducción de dimensiones (análisis semántico latente)
Julio 2015 Agosto 2015
9 10 Aplicación de los métodos de clasificación a los datos obtenidos.
Probar varios algoritmos disponibles en la herramienta de clasificación y seleccionar 3-4 algoritmos con el mejor desempeño.
Probar la aplicación de los filtros para los archivos de entrada de clasificadores.
Aplicar los clasificadores a los datos obtenidos
Octubre 2015 Noviembre 2015
10 5 Análisis de las métricas de evaluación de los resultados y su aplicación
Analizar las métricas de evaluación disponibles en la herramienta de clasificación.
Comparar los resultados de varios clasificadores con varios parámetros.
Noviembre 2015 Diciembre 2015
Porcentaje: 100 %

Nota: La planeación debe hacerse de acuerdo a las actividades del año actual (sumando 100 %), incluso si el proyecto es a mediano plazo.

  6. Presupuesto

Capítulo Descripción / Concepto Total
(Pesos)
2000  Compra de partes de las computadoras (memorias, discos duros, etc.) para mejorar el equipo existente. 43000   
3000  Para la asistencia a un congreso internacional para presentar los resultados del proyecto 5000   
4000  Para la asistencia de los estudiantes a los congresos nacionales e internacionales para presentar los resultados del proyecto 21000   
5000      
7000      
Total:  $ 69000