Software regression testing techniques verify previous functionalities each time software modifications occur or new characteristics are added. With the aim of gaining a better understanding of this subject, in this work we present a survey of software regression testing techniques applied in the last 15 years; taking into account its application domain, kind of metrics they use, its application strategies and the phase of the software development process where they are applied. From an outcome of 460 papers, a set of 25 papers describing the use of 31 software testing regression techniques were identified. Results of this survey suggest that at the time of applying a regression testing techniques, metrics like cost and fault detection efficiency are the most relevant. Most of the techniques were assessed with instrumented programs (experimental cases) under academic settings. Conversely, we observe a minimum set of software regression techniques applied in industrial settings, mainly, under corrective and maintenance approaches. Finally, we observe a trend using some regression techniques under agile approaches.
Agile software development has been widespread adopted. One well-known agile approach is eXtreme Programming (XP) where pair programming (PP) is a relevant practice. Although various aspects of PP have been studied, we have not found, under a traditional model of PP, studies that examine the impact of using an IDE tool support. In an attempt to obtain a better understanding of the impact of using an IDE, we present the results of a controlled experiment that expose the influence on quality, measured as the number of defects injected per hour, and cost, measured as the time necessary to complete programming assignments, of pair and solo programming with and without the use of an IDE. For quality, our findings suggest that the use of an IDE results in significantly higher defect injection rates (for both pairs and solos) when the programming assignment is not very complicated. Nevertheless, defect injection rates seem to decrease when pairs work on more complicated programming assignments irrespective of the tool support used. For cost, the programming assignment significantly affects the time necessary to complete the assignment. Finally, both aspects (quality and cost) are affected in a similar manner when either pair or solo programming is used.
Abstract. Computer programming has become a relevant element of the modern era. Practically it is involved in all sectors of modern society. Currently, many universities around the globe offer bachelor’s degree programs that contain computer programming related courses. In order to gain insight into how computer programming is taught in Ecuadorian Higher Education Institutions (HEIs), we have conducted the first national survey on teaching computer programming in undergraduate CS programs. In this survey participated 53 respondents from 13 Ecuadorian HEIs. We report on programming paradigms, programming languages, integrated development environments and teaching strategies used in the programming learning process. We found that the object-oriented paradigm along with the Java programming language are the most often used. The NetBeans integrated development environment is the most commonly used among the respondents. Concerning teaching strategies, e-learning platforms are commonly used as part of computer programming courses. More than half of the respondents use collaborative strategies such as pair programming in their courses. Finally, a half of the respondents use traditional computer labs for teaching programming; however, other approaches such as mobile devices, games and simulations, Arduino kits and robots start to be used as a teaching strategy. Our findings can serve as a starting point for addressing reforms in computer programming courses taught in Ecuadorian CS undergraduate programs.
This article aims to give an idea of the stages through which the teaching of programming has passed in the ESPOCH, Industrial Engineering School, with the support of ICTs. We describe each stage, making known the results obtained after its application. In the real environment where we are with students, a diagnosis is made first, to then show the work done. The purpose is to use this principle reflecting the actions to be carried out as well as the results we expect.
Resumen: Este artículo pretende dar una idea de las etapas por las cuales ha transcurrido la enseñanza de la programación en la ESPOCH, Carrera de Ingeniería Industrial, con el apoyo de las TICs. Describimos cada etapa, dando a conocer los resultados obtenidos tras su aplicación. En el medio real donde estamos con estudiantes, se hace primero un diagnóstico, para luego mostrar el trabajo realizado. El propósito es utilizar este principio reflejando las acciones a realizarse así como los resultados que esperamos.
Nowadays the interoperability of web applications is carried out by the use of data exchange formats such as XML and JavaScript Object Notation (JSON). Due to its simplicity, JSON objects are the most common way for sending information over the HTTP protocol. With the aim of adding a security mechanism to JSON objects, in this work we propose an encryption approach for cipher JSON objects through the use of chaotic synchronization. Synchronization ability between two chaotic systems offers the possibility of securing information between two points. Our approach includes mechanisms for diffusing and confusing JSON objects (plaintext), which yields a proper ciphertext. Our approach can be applied as an alternative to the existing securing JSON approaches such as JSON Web Encryption (JWE).
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.