318 meneos
2690 clics
Sistema de reparación automática de errores en código fuente funciona 10 veces más rápido que sus predecesores [ENG]
Investigadores del MIT han desarrollado un sistema de aprendizaje automático que es capaz de reparar programas de ordenador de código abierto y aprender sus propiedades generales para arreglar cualquier otro conjunto diferente de programas. Los investigadores probaron su sistema sobre errores en aplicaciones reales que luego fueron compiladas para evaluar la reparación automática. Donde los sistemas anteriores eran capaces de reparar uno o dos errores, este sistema reparó entre quince y dieciocho, dependiendo de si […].
|
comentarios cerrados
Me puedo imaginar que, si son listos, acabarán creando algún servicio online al que conectar repositorios de código (tipo Github, Gitlab o Bitbucket) para corregir automáticamente defectos en el código a un precio aceptable.
Gran noticia para los desarrolladores.
Y ahora el :
3 de las últimas 5 noticias en portada están en inglés.
¡Viva la Ley General de Educación, la LODE, la LOGSE, la LOCE, la LOE y la LOMCE que seguro han tenido algo que ver en esto!
Llamada a función erronea:
funcion()
Llamada a función correcta:
funcion();
También en las definiciones de variables:
Erroneo:
int A = 25
Correcto:
int A = 25;
Ese punto y coma que no poco se olvida, como digo al principio. También incluso en programas muy complejos, se puede pasar algo por alto.
En todo caso, los compiladores actuales ayudan bastante en estos temas.
Salu2
Que el procesado sea local o vía webservice es otro tema.
cc #9
¿Sabes lo que son unos alicates? Pues lo mismo que las matemáticas, una simple herramienta que si no sale de la caja vivirá en un sueño eterno.
Esto podrá corregir inconsistencias en variables y en el propio proceso del programa, pero no podrá resolver (por ahora) problemas más complejos. El sistema se basa en analizar el código y cómo se ejecuta, pero no infiere nada de por qué se necesita el código escrito, o cuál es el objetivo del programa.
Si la tecnología puede mejorar cualquier proceso productivo bienvenida sea, es una tontería trabajar en algo si una máquina lo puede hacer mejor y más rápido.
Y esto puede ser positivo o negativo según como se afronten. Lo ideal es que nos libremos del coñazo de las tareas repetitivas y que lo hagan las maquinas. Que en cierta forma es la evolución que se ha realizado con el tiempo, ya muy poca gente programa en lenguaje maquina salvo para optimizaciones muy puntuales en sitios muy específicos. Se recurren cada vez más a lenguajes de muy alto nivel, y cada vez los serán de aún mayor nivel. Y el hecho que se pierdan horas de trabajo en no tener que depurar es positivo ya que se trata de un uso más eficiente de las horas/programador. PERO también puede implicar un riesgo de desempleo si deciden que ya no hacen falta tantos trabajadores. Cada cosa tiene su contraprestación.
Y esto de las automatizaciones se puede extender perfectamente a otros trabajos . Se habla de que en un futuro muy proximo ( de pocas décadas) habrán sistemas IA eficientes para trabajos como arquitectura, abogacía, ... Hay un riesgo latente de desempleo en sectores especializados. Tanto que que algunos comentan que pueden perderse hasta el 40% de los empleos en 2050.
Y no, no soy un neoludita. La cuestión es como la sociedad afrontará esa crisis.
Ya había leído algún artículo de detección automática de errores y sacaban un montón.
RESPETAR_LAS_LEYES_DE_LA_ROBOTICA = true;
Cambios:
RESPETAR_LAS_LEYES_DE_LA_ROBOTICA = false;
Estado: Corregido.
Llevamos 30 años escuchándolos.
Hay gente que lee "IA" y se flipa porque no tiene ni idea de lo que está hablando y piensa que esos programas son algo más que algoritmos de búsqueda muy sofisticados, pero tan estúpidos como siempre. Lo de esta noticia es un ejemplo más. Habrá gente que crea (sin ningún motivo) que es un sistema que resuelve cualquier tipo de bugs, incluídos los de lógica.
Ademas, la complejidad del software tambien ha ido aumentando y con ella los puestos de trabajo, especialidades, exigencias del publico, etc.
El dia en que no haya nada que mejorar desde el punto de vista tecnico en niguna aplicacion seguramente sera como tu dices, ya no quedaran programadores y todos seran diseñadores, pero ese dia esta muy lejos ya que el software no tiene nada de perfecto, y mucho menos estable.
Corrige tipos de errores muy específicos y no precisamente del tipo más útil para alguien con un mínimo de experiencia, para lo cual se requiere inteligencia y que la máquina sepa qué se quiere que haga el código, lo cual va a ser que no.
Como siempre, el titular da a entender mucho más de lo que es en realidad.
Es una broma, por supuesto.O no....
Un modelo que me gusta es el libre como servicio, usando tus datos para mejorar el servicio y el que quiera mantener cerrado su código que pase por caja 2 veces.
Pero fíjate que esta es la tendencia que se viene desarrollando en los lenguajes de programación, el paradigma es cada vez a más alto nivel, se empezó por programar con tarjetas perforadas y ahora con los lenguajes son orientados a objetos la productividad se ha incrementado exponencialmente, por eso digo que el futuro será programar utilizando el lenguaje natural.
Hay cientos de herramientas y proyectos de investigación en la misma linea, pero en general las herramientas de analisis estatico como esta tienen un uso bastante limitado, los bugs importantes son los que tienen que ver con la lógica del problema o incluso con no resolver el problema adecuado.
- En sanidad, podías morir de una infección que hoy se trata con antibióticos sin apenas molestias. O imagina lo que era un dolor de muelas en aquella época. Y de trasplantes y operaciones, ni hablemos.
- Puedes viajar en pocas horas a la otra punta del mundo, y por un precio ridículo en comparación a lo que le costaba en la edad media hacer unos cientos de kilómetros.
- Puedes comunicarte al instante con cualquier persona, incluso mandarle documentos, fotos, vídeos. Igualmente, por un precio ridículo en comparación.
- El ocio tampoco tiene parangón, por muy gracioso que fuese el bufón de palacio: televisión, cine, mp3s, videoconsolas, espectáculos, restaurantes exóticos,...
- Vas al super y tienes una variedad inimaginable para un rey de la edad media. Si incluso tienes frutas de otros continentes. Vinos de todas partes, whisky, ron, vodka, tequila, ginebra, cervezas de todo tipo, etc.
- Duermes en tu colchón viscolástico, tapado por tu edredón nórdico de plumas, tienes calefacción y aire acondicionado, etc. El hogar es mucho más confortable.
Y bueno, así podría seguir toda la noche.
Precisamente hoy he estado instalando una aplicación web ¡para una tienda de informática! ¿Sabes por qué? Pues porque los de esta tienda no saben programar, y necesitan una base de datos, y una business intelligence, y unos procesos. Y eso no te lo da una web de juguete como es 1&1, donde tu página es poco más que un documento word.
A lo analistas/programadores a veces nos cuesta captar lo que el cliente quiere. Se debe a que el cliente no sabe expresar con claridad lo que busca, o no tiene claro lo que necesita, o ni siquiera sabe lo que quiere. Imagínalos delante de una aplicación que mediante lenguaje natural escriba el código. Me parto y me mondo.
* Y que salga la primera en google cuando escriban...