Cómo construir un sistema de aprendizaje automático para la revisión automática de código

Generalmente no lo haces. ¿Qué estás “revisando”?

a) estilo de programación adecuado?

la respuesta eficiente será similar a un IDE como VS2017 que permite la aplicación de ciertas plantillas (por ejemplo, las declaraciones genéricas de var x se pueden marcar como correctas, advertencias o errores, dependiendo de qué tan estricto se haya definido su estilo de codificación, por ejemplo, si las políticas de estilo de programación quieren una escritura explícita, por lo que var x se considera “no bueno”, y debe decir algo como x, definir esto en la plantilla y construir el código en el IDE y detectar todos los errores / advertencias;

b) salida adecuada (respuesta correcta)?

Suponiendo que realmente comprende la pregunta de codificación y puede encontrar el caso de prueba de extensión mínima correcta para ejercer el código si resuelve todos los casos o no, entonces no necesita ML. Simplemente fuerce la salida del código que se está revisando en un formato común, tenga un conjunto de preguntas de prueba estandarizadas (entradas mínimas de casos de prueba) y auto “compare” las salidas esperadas con cada ejecución del código que se “revisa”. Para que esto funcione con sensatez, la corrección del formato de la salida y la sensibilidad de la función de comparación deben homogeneizarse (lo llamo HUMANIZADO). por ejemplo, si se le pide al código del alumno que muestre el resultado de una secuencia de Fibonacci y el alumno lo genera con espacios adicionales y, por alguna razón, se imprime con decimales (como un tipo flotante), mientras que la salida esperada se preparó con menos espacios y simplemente se presentó como entero, su herramienta de comparación debe ser inteligente para considerar los dos como EMPAREJADOS siempre que el resultado numérico sea el mismo. (Los maestros que solo confían en las comparaciones automáticas de una manera booleana sin comprender mejor la diferencia en los resultados “fallidos” de la OMI están cambiando los estudiantes y la institución educativa en este caso. Los humanos aprenden de los errores y los mejores maestros son los que pueden guiar un estudiante que puede estar a solo un porcentaje de la solución ideal).

c) si está hablando de descubrir CUALQUIER lógica del código automáticamente con ML y criticar si la lógica del código realmente resuelve el problema dado?

… estás entrando en la emocionante pregunta de P vs NP … o lo has resuelto (felicidades) o al menos has alcanzado un nivel muy alto de IA. De cualquier manera, solo debes pedirle a tu propia IA que produzca lo que estás pidiendo en esta pregunta 🙂

More Interesting

Soy un ingeniero electrónico que conoce algoritmos de aprendizaje automático, big data, estadísticas, SQL, Matlab. ¿Puedo ser contratado como ingeniero de IA de nivel básico?

Cómo entrenar clasificador lineal paso a paso con Caffe, utilizando las respuestas de la última capa completamente conectada del modelo AlexNet como características

¿Hay casos en que las ideas del aprendizaje profundo hayan sido útiles para problemas de datos pequeños?

Cómo usar OpenCV en combinación con Scikit-learn

¿Cuáles son los problemas de investigación 'hardcore' en visión artificial, aprendizaje automático y arquitectura informática?

¿Qué tema es adecuado para un taller de aprendizaje automático para estudiantes de secundaria típicos?

¿Cómo podemos interpretar el coeficiente para cierta variable independiente en regresión lineal simple y para el mismo en regresión lineal múltiple?

¿Cuáles son algunas de las limitaciones o inconvenientes de las redes neuronales convolucionales?

¿Qué es una lista de proyectos de IA que podría hacer para mejorar cada vez más en aprender cómo funciona la inteligencia artificial?

¿Por qué en cualquier máquina eléctrica la corriente aumenta cuando aumenta la carga de esa máquina?

¿Cuál es la diferencia entre el filtrado basado en contenido y el filtrado colaborativo?

¿Qué debo hacer para aprender el aprendizaje profundo, especialmente usarlo para resolver problemas?

Mientras entrena una red profunda, una vez que la precisión del entrenamiento alcanza el 100%, ¿hay algún punto en entrenar la red durante más épocas?

Dada una oración, quiero encontrar la emoción de la persona que la dijo. ¿Cómo puedo hacer esto?

¿Qué tan buena es la Universidad de Edimburgo, en comparación con la CMU para estudios de posgrado e investigación en aprendizaje automático y neurociencia computacional?