Person: Caballero Roldán, Rafael
Loading...
First Name
Rafael
Last Name
Caballero Roldán
Affiliation
Universidad Complutense de Madrid
Faculty / Institute
Informática
Department
Sistemas Informáticos y Computación
Area
Lenguajes y Sistemas Informáticos
Identifiers
2 results
Search Results
Now showing 1 - 2 of 2
- Project number: 32
Item Implementación de un entorno de aprendizaje colaborativo de lenguajes de programación mediante traducción(2016) Caballero Roldán, Rafael; Martín Martín, Enrique; Montenegro Montes, Manuel; Riesco Rodríguez, Adrián; Tamarit Muñoz, SalvadorMemoria del PIMCD 32/2015, donde presentamos una herramienta colaborativa para aprender lenguajes de traducción mediante traducción llamada DuoCode. Item A unified framework for declarative debugging and testing(2020) Tamarit, Salvador; Caballero Roldán, Rafael; Riesco Rodríguez, Adrián; Martín Martín, EnriqueContext: Debugging is the most challenging and time consuming task in software development. However, it is not properly integrated in the software development cycle, because the result of so much effort is not available in further iterations of the cycle, and the debugging process itself does not benefit from the outcome of other phases such as testing. Objective: We propose to integrate debugging and testing within a single unified framework where each phase generates useful information for the other and the outcomes of each phase are reused. Method: We consider a declarative debugging setting that employs tests to automatically entail the validity of some subcomputations, thus decreasing the time and effort needed to find a bug. Additionally, the debugger stores as new tests the information collected from the user during the debugging phase. This information becomes part of the program test suite, and can be used in future debugging sessions, and also as regression tests. Results: We define a general framework where declarative debugging establishes a bidirectional collaboration with testing. The new setting preserves the properties of the underlying declarative debugging framework (weak completeness and soundness) while generating test cases that can be used later in other debugging sessions or even in other cycles of the software development. The proposed framework is general enough to be instantiated to very different programming languages: Erlang (functional), Java (imperative, object-oriented), and SQL (data query); and the experimental results obtained for Erlang programs validate the effectiveness of the framework. Conclusion: We propose a general unified framework for debugging and testing that simplifies each phase and maximizes the reusability of the outcomes in the different phases of the software development cycle, therefore reducing the overall effort.