La utilización de herramientas que permitan detectar problemas de programación es de utilidad tanto para el docente, el cual puede probar de una forma más exhaustiva las prácticas entregadas, como para el discente, el cual puede utilizar dichas herramientas. En muchos casos, existen herramientas previas utilizadas en el desarrollo software, que pueden ser adaptadas para ser utilizadas en un entorno formativo. Este trabajo aporta la integración de una herramienta de validación formal de sistemas concurrentes Java, la cual garantiza la no existencia de defectos como son el abrazo mortal y las condiciones de carrera, en un entorno Web abierto. Más concretamente, la herramienta que se ha escogido es denominada JPF (Java Path Finder) y se la ha dotado de interfaces dentro de un servidor Java EE (Enterprise Edition), lo que facilita la utilización de servicios propios de la plataforma Java EE y la interoperabilidad entre estos con el módulo diseñado. El artículo trata aspectos tecnológicos derivados de dicha integración como son el diseño de una arquitectura que da soporte a la validación vía web. También detalla una serie de experimentos relativos al rendimiento de la plataforma realizados sobre un curso real, lo que permite medir costes computacionales y su utilidad en la evaluación
Tools that allow detecting programming faults are useful for both docents, who may test submitted exercises, and students, who may use these tools in advance. In this article the authors develop one tool for detecting failures in applications. In many cases there are previous tools that may be readapted to be used in an educational scope. This article integrates of one of these tools, which avoids code with dead-locks and race-conditions, into the Internet. The tool integrated is JPF (Java Path Finder) and it is accessed from a Java EE web frontend which carries out the exercise assessment. The article deals with the definition of the module and its evaluation on a realistic scenario. The results show that many assignments may benefit from the output of the tool.
Alonso et al., 2004, Basanta-Val et al., 2010, Basanta-Val et al., 2005, Basanta-Val et al., 2004, Bollella et al., 2001, Caspi et al., 2005, de La Puente et al., 1998, de Tomas et al., 1991, Estévez-Ayres et al., 2004, García-Valls et al., 2012, Guaspari et al., 1990, Henzinger et al., 2007, Ihantola, 2006, JavaEJB, 2011, JavaEE, 2011, Java Path Finder, 2011, JavaServ, 2011, JMail, 2011, JMS, 2011, Kalibera et al., 2010, Critical et al., 2010, Muñoz-Merino et al., 2009, Rajan et al., 2009, Visser et al., 2004, Visser et al., 2003, Volanschi, 2008 and Wellings, 2004.