31 research outputs found

    SZZ in the time of Pull Requests

    Full text link
    In the multi-commit development model, programmers complete tasks (e.g., implementing a feature) by organizing their work in several commits and packaging them into a commit-set. Analyzing data from developers using this model can be useful to tackle challenging developers' needs, such as knowing which features introduce a bug as well as assessing the risk of integrating certain features in a release. However, to do so one first needs to identify fix-inducing commit-sets. For such an identification, the SZZ algorithm is the most natural candidate, but its performance has not been evaluated in the multi-commit context yet. In this study, we conduct an in-depth investigation on the reliability and performance of SZZ in the multi-commit model. To obtain a reliable ground truth, we consider an already existing SZZ dataset and adapt it to the multi-commit context. Moreover, we devise a second dataset that is more extensive and directly created by developers as well as Quality Assurance (QA) engineers of Mozilla. Based on these datasets, we (1) test the performance of B-SZZ and its non-language-specific SZZ variations in the context of the multi-commit model, (2) investigate the reasons behind their specific behavior, and (3) analyze the impact of non-relevant commits in a commit-set and automatically detect them before using SZZ

    Towards understanding the challenges faced by machine learning software developers and enabling automated solutions

    Get PDF
    Modern software systems are increasingly including machine learning (ML) as an integral component. However, we do not yet understand the difficulties faced by software developers when learning about ML libraries and using them within their systems. To fill that gap this thesis reports on a detailed (manual) examination of 3,243 highly-rated Q&A posts related to ten ML libraries, namely Tensorflow, Keras, scikitlearn, Weka, Caffe, Theano, MLlib, Torch, Mahout, and H2O, on Stack Overflow, a popular online technical Q&A forum. Our findings reveal the urgent need for software engineering (SE) research in this area. The second part of the thesis particularly focuses on understanding the Deep Neural Network (DNN) bug characteristics. We study 2,716 high-quality posts from Stack Overflow and 500 bug fix commits from Github about five popular deep learning libraries Caffe, Keras, Tensorflow, Theano, and Torch to understand the types of bugs, their root causes and impacts, bug-prone stage of deep learning pipeline as well as whether there are some common antipatterns found in this buggy software. While exploring the bug characteristics, our findings imply that repairing software that uses DNNs is one such unmistakable SE need where automated tools could be beneficial; however, we do not fully understand challenges to repairing and patterns that are utilized when manually repairing DNNs. So, the third part of this thesis presents a comprehensive study of bug fix patterns to address these questions. We have studied 415 repairs from Stack Overflow and 555 repairs from Github for five popular deep learning libraries Caffe, Keras, Tensorflow, Theano, and Torch to understand challenges in repairs and bug repair patterns. Our key findings reveal that DNN bug fix patterns are distinctive compared to traditional bug fix patterns and the most common bug fix patterns are fixing data dimension and neural network connectivity. Finally, we propose an automatic technique to detect ML Application Programming Interface (API) misuses. We started with an empirical study to understand ML API misuses. Our study shows that ML API misuse is prevalent and distinct compared to non-ML API misuses. Inspired by these findings, we contributed Amimla (Api Misuse In Machine Learning Apis) an approach and a tool for ML API misuse detection. Amimla relies on several technical innovations. First, we proposed an abstract representation of ML pipelines to use in misuse detection. Second, we proposed an abstract representation of neural networks for deep learning related APIs. Third, we have developed a representation strategy for constraints on ML APIs. Finally, we have developed a misuse detection strategy for both single and multi-APIs. Our experimental evaluation shows that Amimla achieves a high average accuracy of ∼80% on two benchmarks of misuses from Stack Overflow and Github

    Contributions to learning Bayesian network models from weakly supervised data: Application to Assisted Reproductive Technologies and Software Defect Classification

    Get PDF
    162 p.Las técnicas de análisis de datos permitenextraer información de un conjunto de datos. Hoy en día, con la explosión delas nuevas tecnologías, el enorme volumen de datos que una amplia variedadde dispositivos recogen y almacenan no puede ser procesado por medio de lastécnicas clásicas de análisis de datos. Para afrontar esta tarea, la minería dedatos y el aprendizaje automático son dos campos dentro de la inteligenciaartificial que desarrollan métodos computacionales de análisis de datos queaprovechan la capacidad de procesamiento de los ordenadores modernos.Las técnicas de clasificación supervisada se enmarcan dentro del campodel aprendizaje automático. En un problema de clasificación, existe un conjuntode posibles categorías a una de las cuales se asigna cada uno de los casosdel problema. En este contexto, se entiende por aprendizaje el proceso de inferirel mapeo de casos y categorías que se observa en el problema original apartir de un conjunto de casos de ejemplo. Estas técnicas de clasificación sedicen ¿supervisadas¿ porque dicho conjunto de ejemplos lo forman casos delproblema que han sido previamente asignados, uno a uno, a sus respectivascategorías. De esta manera, las técnicas de clasificación supervisada infierenel mapeo a partir de un conjunto de ejemplos completamente categorizado(o etiquetado) y construyen un clasificador que, dado un nuevo caso del problemaaún sin categorizar, es capaz de predecir su pertenencia a una de lasposibles categorías.En esta tesis se explora el problema de la clasificación supervisada cuandolos ejemplos que se aportan no están completamente categorizados. Elconjunto de trabajos que estudian la posibilidad de aprender un clasificadoren este tipo de escenarios son globalmente conocidos como clasificacióndébilmente supervisada o parcialmente etiquetada. El problema clásico declasificación semi-supervisada, donde sólo un subconjunto de los ejemplos estácategorizado, es uno de los primeros ejemplos de este tipo de problemas.Recientemente, el intento de resolver cada vez problemas de clasificaciónpor medio de técnicas de clasificación supervisada ha hecho patente que laobtención de un conjunto de datos completamente supervisado es con frecuenciaimposible o extremadamente difícil. Ante esta situación, diferentesinvestigadores han propuesto técnicas de clasificación débilmente supervisadaespecíficas que les permiten aprovechar toda la información de supervisiónque han podido recoger para su conjunto de ejemplos. La amplia variedadde restricciones que han impedido a los diferentes investigadores recoger unconjunto de ejemplos totalmente categorizado ha multiplicado el número deproblemas de clasificación débilmente supervisada presentados recientementeen la literatura junto con las soluciones propuestas para resolverlos.Nuestra primera propuesta en esta tesis es precisamente una ordenaciónnovedosa del espectro de problemas de clasificación débilmente supervisada.Se trata de una taxonomía con tres ejes donde cada uno de los cuales representauna característica fundamental a la hora de describir un problema declasificación débilmente supervisada. Todos los problemas se pueden identificarpor el tipo de información parcial de supervisión con que se categorizanlos ejemplos con que se aprende el clasificador. Además, en un segundo eje sediscute y visualiza la existencia de problemas de clasificación que permitenal clasificador, una vez aprendido, aprovechar cierta información parcial desupervisión de los ejemplos que debe predecir. El tercer eje de la taxonomíasepara los diferentes problemas según lo que se entiende en cada casoconcreto por ejemplo y categoría. Esta organización del estado del arte permitedescubrir las similitudes y diferencias entre los diferentes problemas declasificación. Alternativamente, el uso de esta taxonomía permite detectar ycaracterizar áreas por explorar, las cuales podrían representar nuevos problemasque todavía no han sido estudiados en la literatura relacionada.La taxonomía propuesta establece un marco general que cubre los diferentesproblemas estudiados en esta tesis. Hasta cuatro problemas diferentes declasificación débilmente supervisada han sido considerados. Todas nuestraspropuestas para abordarlos se basan en el aprendizaje de modelos de clasificaciónprobabilista, en concreto los clasificadores basados en redes Bayesianas(BNCs, por sus siglas en inglés). Esta familia de clasificadores está basadaen la sólida teoría matemática de las redes Bayesianas y los modelos gráficosprobabilísticos. Nuestras técnicas para aprender este tipo de clasificadoresusando un conjunto de datos débilmente supervisado se basan en una estrategiaiterativa conocida como EM (del inglés, expectation-maximization).Una adaptación de esta estrategia clásica para lidiar con la información parcialde supervisión disponible en cada problema estudiado está en la base delas propuestas metodológicas.Aparte de la taxonomía, esta tesis contiene otros cuatro trabajos de investigaciónnovedosos. Dos de ellos son contribuciones metolodógicas que resuelvensendos problemas de clasificación débilmente supervisada: el aprendizajea partir de proporciones de etiquetas (LLP, por sus siglas en inglés) y elaprendizaje con ejemplos etiquetados por múltiples anotadores (CrL).El problema LLP se caracteriza por un conjunto de ejemplos, el cual noha podido ser categorizado, que se divide en subconjuntos. Para cada subconjunto,la información de supervisión de la que se dispone consiste en laproporción de ejemplos que pertenece a cada una de las categorías (etiquetas)posibles. En nuestro trabajo, se considera el coste del aprendizaje en losdiferentes escenarios de este problema de clasificación. Hasta cuatro versionesde un método basado en la estrategia EM, los cuales tratan la incertidumbreen el etiquetado del problema de diversas maneras, son propuestos. Laestrategia EM permite, iterativamente, aprender un modelo a la vez que sedescubre la imputación idónea para las etiquetas de los ejemplos provistos.La primera versión propuesta imputa la etiqueta más probable (de acuerdocon el modelo actual) para cada ejemplo. Una segunda versión, probabilista,asigna cada ejemplo a cada una de las posibles etiquetas con la probabilidadque el modelo devuelve para esa combinación de ejemplo y categoría. La terceraversión está diseñada para lidiar con los escenarios del problema máscostosos, realizando una imputación probabilista aproximada mediante unproceso MCMC (del inglés Markov Chain Monte Carlo). La última versión,la cual se ha demostrado que es la más eficiente y sin diferencias significativascon respecto a la versión probabilista exacta (2), es una combinación de lasversiones 2 y 3 que sólo lleva a cabo la aproximación MCMC en caso de que elcoste de la imputación exacta supere cierto umbral. Este trabajo incluye unestudio experimental de la estabilidad del método ante escenarios del problemacada vez más costosos, así como una comparativa con dos propuestas delestado del arte, ante las cuales nuestro método muestra un comportamientocompetitivo.En la segunda contribución metodológica estudiamos el problema CrL. Eneste caso, la etiqueta real de cada ejemplo es desconocida, pero se disponede las diferentes categorías propuestas por múltiples anotadores de credi-bilidad cuestionable (los anotadores no siempre anotan la etiqueta real delejemplo en cuestión). En este trabajo, estudiamos la robustez de dos estrategiasbásicas que ofrecen resultados competitivos en escenarios del problemabien informados (los anotadores, abundantes en número, son suficientementecompetentes). Centrado en escenarios poco informados, hemos propuestoun método que aprende clasificadores multidimensionales (a cada ejemplo lecorresponde una categoría simultáneamente en diferentes clasificaciones). Unconjunto de pesos codifica la fiabilidad de cada anotador en cada dimensión oglobalmente. Este conjunto de pesos es actualizado iterativamente usando laestrategia EM mediante una de estas dos posibles configuraciones: de acuerdoa la tasa de acierto del anotador considerando las etiquetas predichas porel modelo recientemente aprendido como las reales, o bien, usando la mediade las probabilidades asignadas por el modelo a cada par caso-categoríasetiquetado por el anotador. Mediante una completa experimentación, la configuracióndel método que obtiene mejores resultados ha sido identificada.Además, se ha testado la capacidad del método propuesto para recuperar lafiabilidad real de cada anotador en entornos simulados y se ha comparado endiferentes escenarios con las estrategias básicas estudiadas.La última parte de la tesis consiste en dos trabajos de investigación aplicados,los cuales nos han permitido testar nuestras propuestas metodológicasen entornos reales. El primero de ellos, un estudio de la aplicación de técnicasde clasificación débilmente supervisada para mejorar la tasa de éxito entratamientos de reproducción asistida, ha sido llevado a cabo en colaboracióncon la Unidad de Reproducción Asistida del Hospital Donostia (Gipuzkoa).En el segundo caso, un problema de clasificación de defectos de software extraídosde la plataforma oficial de seguimiento de errores/fallos del softwareCompendium ha sido abordado desde el punto de vista de un problema CrL.El problema de las tecnologías de reproducción asistida (ARTs, por susiglas en inglés) se trata de un ejemplo claro de clasificación débilmente supervisadadebido a la imposibilidad de monitorizar el proceso completo de lareproducción asistida; concretamente, entre la transferencia del óvulo fecundadohasta su implantación e inicio del proceso de gestación. En realidad, latarea es doble. Por un lado, se afronta la tarea de identificar el tratamientoindividualizado para cada mujer (pareja) que maximiza la probabilidad deembarazo. Asimismo, también se aborda la selección de los embriones másprometedores (obtenidos tras extraer y fecundar los óvulos, y cultivarlos hastala formación de embriones). Ambas tareas adquieren un matiz diferente sise consideran antes o después de la transferencia de los embriones al úterode la paciente ¿es entonces cuando se pierde la capacidad de monitorizarel proceso¿ pues la información de supervisión disponible es diferente. Así,cuatro aproximaciones diferentes han sido usadas para resolver parcialmentediferentes aristas de este problema. La primera, predecir la probabilidad deque un tratamiento acabe en embarazo, se ha modelado mediante un problemade clasificación supervisada clásico. Así, técnicas estándar de aprendizajede BNCs han podido ser utilizadas. La segunda aproximación, predecir la posibilidadde que un embrión se implante (e induzca un embarazo), se modelamediante el problema LLP. La metodología presentada en esta misma tesisha sido usada para abordar este problema. Las dos siguientes aproximacionesson equivalentes a las dos anteriores, pero evitan el proceso de implantaciónmodelando un evento del proceso ART previo a la transferencia. Así, la tercerapredice si un tratamiento se ha configurado de una manera idónea paragestar un embarazo y se modela mediante un problema de aprendizaje conejemplos positivos y no-etiquetados (PU, por sus siglas en inglés). Una metodologíadesarrollada previamente en nuestro grupo de investigación paralidiar con este tipo de problemas ha sido aplicada. Finalmente, la cuartaaproximación, que anticipa si un embrión se desarrollará correctamente, hasido modelada mediante otro problema de clasificación débilmente supervisada:el aprendizaje con proporciones de ejemplos positivos y no-etiquetados(PUP), un problema que combina características de los problemas LLP yPU. Algunos resultados clínicamente relevantes se han derivado del análisisde un conjunto de datos recogido por la citada Unidad durante un períodode 18 meses. El rendimiento de los clasificadores aprendidos para predecirla viabilidad de un ciclo (tratamiento de ARTs) es prometedora. Se ha podidoconstatar experimentalmente que los datos referentes a la estimulacióny otros factores del tratamiento son relevantes a la hora de predecir la implantaciónde un embrión. Sin embargo, el proceso de implantación está lejosde ser completamente entendido. En consonancia, de los resultados obtenidostambién se desprende que los datos recogidos para elegir los embriones atransferir determinan más efectivamente el correcto desarrollo de los embrionesque su implantación en caso de ser transferido. De todas formas, el buendesarrollo del embrión es indiscutiblemente un requisito para que un embrióntransferido al útero de una mujer se implante. Por ello, una ordenación másprecisa de los embriones de acuerdo a su probabilidad de desarrollarse espresentada en este trabajo. Este ordenamiento podría ser asimismo usado enun nuevo criterio de selección de embriones a transferir.Del campo de la ingeniería del software nos llega la segunda aplicaciónpráctica, el estudio de la cual constituye la quinta y última contribución deesta tesis. Un conjunto de ejemplos de defectos del software Compendiumregistrados por los usuarios en su sistema de seguimiento de errores ha sidoobtenido y etiquetado por un grupo de anotadores. El etiquetado de este tipode problemas de ingeniería del software es típicamente una tarea subjetivaque implica numerosas y habituales contradicciones entre diferentes anotadores.Por lo tanto, esta aplicación ha sido modelada como un problema CrL conmúltiples clases (categorías) desbalanceadas (no todas aparecen con la mismafrecuencia) y abordado mediante una adaptación de la metodología propuestaen esta misma tesis para el problema CrL. Ésta es una aproximación alproblema de clasificación de defectos novedosa en la literatura relacionada.Además, la metodología de aprendizaje propuesta anteriormente se ha combinadocon dos técnicas ampliamente utilizadas por la comunidad que intentanlidiar con dos dificultades añadidas que caracterizan a esta aplicación real:por un lado, una estrategia que descompone en subproblemas binarios el problemaoriginal con múltiples clases (conocida como weighted OvO) y, por elotro, una técnica de muestreo que intenta mitigar los efectos del desbalanceode las clases (conocida como SMOTEBoost). Estas técnicas han sido exitosamenteadaptadas al entorno CrL. Las diferentes estrategias consideradas hansido testadas en un completo conjunto de experimentos. Para poder valorarel rendimiento de los modelos aprendidos se implementa una de las estrategiasbásicas más robustas, el voto mayoritario (MV, por sus siglas en inglés).Esta estrategia asigna a cada ejemplo la clase mayoritariamente etiquetadapor el conjunto de anotadores, convirtiendo el problema CrL en un problemaclásico de clasificación supervisada para el cual se pueden usar metodologíasestándar de aprendizaje. En general, se aprecia que las metodologías propuestasson competitivas ante la estrategia MV. Cada estrategia cumple sufunción y, de esta manera, se puede observar que el SMOTEBoost adaptadosacrifica en parte el rendimiento global (menor tasa de acierto) para mejorarel rendimiento al predecir las clases minoritarias. La metodología propuestapara el problema CrL es competitiva también para problemas con múltiplesclases, como puede apreciarse en el hecho de que los resultados del weightedOvO rara vez mejoran los de nuestra metodología por sí sola

    Supporting the Additional Protocol declarations on nuclear research and technology by the JRC TIM DU platform

    Full text link
    peer reviewedResearch subject to dual-use trade controls may play an important role in proliferation programmes because the exchanges among research entities are traditionally open and prone to be exploited by third countries’ illicit developments. For these reasons, apart from information “in the public domain” or “basic scientific research”, transfers of nuclear technology are subject to export authorisation requirements and government-to-government assurances like the export of tangible goods, as specified by the Nuclear Suppliers Group’s guidelines and national export control laws. Also the requirements of the Model Additional Protocol to the Agreement(s) between States and the International Atomic Energy Agency for the Application of Safeguards include declarations about national research and development activities related to the nuclear fuel cycle, but do not require declarations of technology transfers to third countries. The European Commission JRC, in collaboration with Liege University, has developed the Tools for Innovation Monitoring Dual-use (TIM DU) platform that can facilitate the identification of entities publishing research with a dual-use potential in the various countries. Together with many dual-use goods and emerging technologies, TIM DU maps nuclear-fuel cycle activities’ results included in scientific abstracts, patents, and EU-funded projects, allowing analysts to gather lists of documents, geographical distributions, collaborations, and authors related to these activities. These results can help the national authorities submitting declarations to IAEA in accordance with Additional Protocol’s Article 2.a, both to identify also previously unknown national research actors and their collaboration networks, as well as to raise the awareness of national research entities about potential sensitivities with external collaborators. The IAEA could also use TIM DU to support the verification of the completeness and correctness of the declarations concerning nuclear fuel cycle research

    Data cleaning techniques for software engineering data sets

    Get PDF
    Data quality is an important issue which has been addressed and recognised in research communities such as data warehousing, data mining and information systems. It has been agreed that poor data quality will impact the quality of results of analyses and that it will therefore impact on decisions made on the basis of these results. Empirical software engineering has neglected the issue of data quality to some extent. This fact poses the question of how researchers in empirical software engineering can trust their results without addressing the quality of the analysed data. One widely accepted definition for data quality describes it as `fitness for purpose', and the issue of poor data quality can be addressed by either introducing preventative measures or by applying means to cope with data quality issues. The research presented in this thesis addresses the latter with the special focus on noise handling. Three noise handling techniques, which utilise decision trees, are proposed for application to software engineering data sets. Each technique represents a noise handling approach: robust filtering, where training and test sets are the same; predictive filtering, where training and test sets are different; and filtering and polish, where noisy instances are corrected. The techniques were first evaluated in two different investigations by applying them to a large real world software engineering data set. In the first investigation the techniques' ability to improve predictive accuracy in differing noise levels was tested. All three techniques improved predictive accuracy in comparison to the do-nothing approach. The filtering and polish was the most successful technique in improving predictive accuracy. The second investigation utilising the large real world software engineering data set tested the techniques' ability to identify instances with implausible values. These instances were flagged for the purpose of evaluation before applying the three techniques. Robust filtering and predictive filtering decreased the number of instances with implausible values, but substantially decreased the size of the data set too. The filtering and polish technique actually increased the number of implausible values, but it did not reduce the size of the data set. Since the data set contained historical software project data, it was not possible to know the real extent of noise detected. This led to the production of simulated software engineering data sets, which were modelled on the real data set used in the previous evaluations to ensure domain specific characteristics. These simulated versions of the data set were then injected with noise, such that the real extent of the noise was known. After the noise injection the three noise handling techniques were applied to allow evaluation. This procedure of simulating software engineering data sets combined the incorporation of domain specific characteristics of the real world with the control over the simulated data. This is seen as a special strength of this evaluation approach. The results of the evaluation of the simulation showed that none of the techniques performed well. Robust filtering and filtering and polish performed very poorly, and based on the results of this evaluation they would not be recommended for the task of noise reduction. The predictive filtering technique was the best performing technique in this evaluation, but it did not perform significantly well either. An exhaustive systematic literature review has been carried out investigating to what extent the empirical software engineering community has considered data quality. The findings showed that the issue of data quality has been largely neglected by the empirical software engineering community. The work in this thesis highlights an important gap in empirical software engineering. It provided clarification and distinctions of the terms noise and outliers. Noise and outliers are overlapping, but they are fundamentally different. Since noise and outliers are often treated the same in noise handling techniques, a clarification of the two terms was necessary. To investigate the capabilities of noise handling techniques a single investigation was deemed as insufficient. The reasons for this are that the distinction between noise and outliers is not trivial, and that the investigated noise cleaning techniques are derived from traditional noise handling techniques where noise and outliers are combined. Therefore three investigations were undertaken to assess the effectiveness of the three presented noise handling techniques. Each investigation should be seen as a part of a multi-pronged approach. This thesis also highlights possible shortcomings of current automated noise handling techniques. The poor performance of the three techniques led to the conclusion that noise handling should be integrated into a data cleaning process where the input of domain knowledge and the replicability of the data cleaning process are ensured.EThOS - Electronic Theses Online ServiceGBUnited Kingdo

    Multidisciplinary perspectives on Artificial Intelligence and the law

    Get PDF
    This open access book presents an interdisciplinary, multi-authored, edited collection of chapters on Artificial Intelligence (‘AI’) and the Law. AI technology has come to play a central role in the modern data economy. Through a combination of increased computing power, the growing availability of data and the advancement of algorithms, AI has now become an umbrella term for some of the most transformational technological breakthroughs of this age. The importance of AI stems from both the opportunities that it offers and the challenges that it entails. While AI applications hold the promise of economic growth and efficiency gains, they also create significant risks and uncertainty. The potential and perils of AI have thus come to dominate modern discussions of technology and ethics – and although AI was initially allowed to largely develop without guidelines or rules, few would deny that the law is set to play a fundamental role in shaping the future of AI. As the debate over AI is far from over, the need for rigorous analysis has never been greater. This book thus brings together contributors from different fields and backgrounds to explore how the law might provide answers to some of the most pressing questions raised by AI. An outcome of the Católica Research Centre for the Future of Law and its interdisciplinary working group on Law and Artificial Intelligence, it includes contributions by leading scholars in the fields of technology, ethics and the law.info:eu-repo/semantics/publishedVersio

    (Dis)Obedience in Digital Societies: Perspectives on the Power of Algorithms and Data

    Get PDF
    Algorithms are not to be regarded as a technical structure but as a social phenomenon - they embed themselves, currently still very subtle, into our political and social system. Algorithms shape human behavior on various levels: they influence not only the aesthetic reception of the world but also the well-being and social interaction of their users. They act and intervene in a political and social context. As algorithms influence individual behavior in these social and political situations, their power should be the subject of critical discourse - or even lead to active disobedience and to the need for appropriate tools and methods which can be used to break the algorithmic power

    (Dis)Obedience in Digital Societies

    Get PDF
    Algorithms are not to be regarded as a technical structure but as a social phenomenon - they embed themselves, currently still very subtle, into our political and social system. Algorithms shape human behavior on various levels: they influence not only the aesthetic reception of the world but also the well-being and social interaction of their users. They act and intervene in a political and social context. As algorithms influence individual behavior in these social and political situations, their power should be the subject of critical discourse - or even lead to active disobedience and to the need for appropriate tools and methods which can be used to break the algorithmic power
    corecore