427 research outputs found

    Learning to classify software defects from crowds: a novel approach

    Get PDF
    In software engineering, associating each reported defect with a cate- gory allows, among many other things, for the appropriate allocation of resources. Although this classification task can be automated using stan- dard machine learning techniques, the categorization of defects for model training requires expert knowledge, which is not always available. To cir- cumvent this dependency, we propose to apply the learning from crowds paradigm, where training categories are obtained from multiple non-expert annotators (and so may be incomplete, noisy or erroneous) and, dealing with this subjective class information, classifiers are efficiently learnt. To illustrate our proposal, we present two real applications of the IBM’s or- thogonal defect classification working on the issue tracking systems from two different real domains. Bayesian network classifiers learnt using two state-of-the-art methodologies from data labeled by a crowd of annotators are used to predict the category (impact) of reported software defects. The considered methodologies show enhanced performance regarding the straightforward solution (majority voting) according to different metrics. This shows the possibilities of using non-expert knowledge aggregation techniques when expert knowledge is unavailable

    Knowledge-Intensive Processes: Characteristics, Requirements and Analysis of Contemporary Approaches

    Get PDF
    Engineering of knowledge-intensive processes (KiPs) is far from being mastered, since they are genuinely knowledge- and data-centric, and require substantial flexibility, at both design- and run-time. In this work, starting from a scientific literature analysis in the area of KiPs and from three real-world domains and application scenarios, we provide a precise characterization of KiPs. Furthermore, we devise some general requirements related to KiPs management and execution. Such requirements contribute to the definition of an evaluation framework to assess current system support for KiPs. To this end, we present a critical analysis on a number of existing process-oriented approaches by discussing their efficacy against the requirements

    Software Engineering Laboratory Series: Proceedings of the Twentieth Annual Software Engineering Workshop

    Get PDF
    The Software Engineering Laboratory (SEL) is an organization sponsored by NASA/GSFC and created to investigate the effectiveness of software engineering technologies when applied to the development of application software. The activities, findings, and recommendations of the SEL are recorded in the Software Engineering Laboratory Series, a continuing series of reports that includes this document

    Distribution of defects in a large software system

    Get PDF
    This report summarizes the findings of a retrospective analysis of coding errors in a major software system produced by a large Canadian software engineering firm. The code-base of the system is approximately 1.7 million lines of C++ integrated with third party RDBMS and GIS products. The safety related nature of the system and the size of its code base make it an ideal candidate for an investigation of software related defects referred to as ' memory leaks.' A ' memory leak' results from the failure to return previously allocated heap memory. The distribution of memory leaks is analyzed and a two-part memory leak classification scheme is described. A secondary focus of the investigation is the influence of decision complexity on system safety. This investigation yielded two statistically significant findings. The first is a relationship between programmer experience and memory leak creation. The second is a correlation between subsystem complexity and memory leak density. The impact of software process improvement measures are also discussed.--Page iii.The original print copy of this thesis may be available here: http://wizard.unbc.ca/record=b131711

    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

    A methodology for structured ontology construction applied to intelligent transportation systems

    Get PDF
    The number of computers installed in urban and transport networks has grown tremendously in recent years, also the local processing capabilities and digital networking currently available. However, the heterogeneity of existing equipment in the field of ITS (Intelligent Transportation Systems) and the large volume of information they handle, greatly hinder the interoperability of the equipment and the design of cooperative applications between devices currently installed in urban networks. While the dynamic discovery of information, composition and invocation of services through intelligent agents are a potential solution to these problems, all these technologies require intelligent management of information flows. In particular, it is necessary to wean these information flows of the technologies used, enabling universal interoperability between computers, regardless of the context in which they are located. The main objective of this paper is to propose a systematic methodology to create ontologies, using methods such as a semantic clustering algorithms for retrieval and representation of information. Using the proposed methodology, an ontology will be developed in the ITS domain. This ontology will serve as the basis of semantic information to a SS (Semantic Service) that allows the connection of new equipment to an urban network. The SS uses the CORBA standard as distributed communication architecture

    Business Process Quality Management

    Get PDF
    During the past 25 years, research in the field of business process management as well as the practical adoption of corresponding methods and tools have made substantial progress. In particular, this development was driven by the insight that well-managed business processes enable organizations to better serve their stakeholders, save costs and, ultimately, realize competitive advantage. It is therefore not surprising that improving business processes ranks high on the list of priorities of organizations. In practice, this challenge is currently being addressed through approaches such as benchmarking, industry-specific best practice reference models or process reengineering heuristics. However, no systematic and generic proposition towards managing business process quality has achieved broad acceptance yet. To address this gap, this thesis contributes to the field of business process quality management with the results lined out in the following. First, it defines a concise notion of business process quality based on organizational targets, and applies it to a sample real-world case. This definition is not specific to any particular application field, and thus constitutes a vital first step towards systematic and generic business process quality management. On that basis, an approach is developed to model business objectives in the sense of the requirements that shall be fulfilled by the results of a business process. In turn, this approach enables appraising if a business process achieves its business objective as one of the core criteria relevant to business process quality. Further, this thesis proposes extensions to common business process meta-models which enable quality-aware business process modeling, and demonstrates how fundamental quality characteristics can be derived from corresponding models. At this stage, the results achieved have enabled an advanced understanding of business process quality. By means of these insights, a model of business process quality attributes with corresponding quality criteria is developed. This model complements and exceeds preceding approaches since, for the first time, it systematically derives relevant quality attributes from a business process management perspective instead of adopting these from related fields. It enables appraising business process quality independently of a particular field of application, and deriving recommendations to improve the processes assessed. To enable practical adoption of the concepts developed, the integration of procedures and functionality relevant to quality in business process management lifecycles and system landscapes is discussed next. To establish the contribution of this thesis beyond the previous state of the art, the proposed quality model is then compared to existing business process reengineering practices as well as propositions in the area of business process quality. Further, quality attributes are employed to improve a substantial real-world business process. This experience report demonstrates how quality management practices can be applied even if quality-aware system landscapes are not in place yet. It thus contributes to bridging the gap between the research results proposed in this thesis and the conditions present in practice today. Finally, remaining limitations with regard to the research objectives pursued are discussed, and challenges for future research are lined out. Addressing the latter will enable further leveraging the potentials of business process quality management

    Developing a catalogue of errors and evaluating its impact on software development

    Get PDF
    The development of quality software is of paramount importance, yet this has been and continues to be an elusive goal for software engineers. Delivered software often fails due to errors that are injected during its development. Correcting these errors early in the development or preventing them altogether can, therefore, be considered as one way to improve software quality. In this thesis, the development of a Catalogue of Errors is described. Field studies with senior software engineering students are used to confirm that developers using the Catalogue of Errors commit fewer errors in their development artifacts. The impact of the Catalogue of Errors on productivity is also examined

    A Systematic Review Approach of Continuous Improvement Pillar Management Framework’s

    Get PDF
    Today’s market is constantly changing, so companies are required to continuously evolve their processes so that they can meet the increasingly complex requirements of stakeholders, from customer needs to sustainable policies. The application of Business Process Management improves its processes, bringing together all the activities carried out by the company that aim to generate value for the client. As a consequence, one of the biggest problems for companies is the absence of information management and communication with internal and external stakeholders. Duplication and deprivation are very common in these companies and generate a huge amount of waste. To solve this problem the developments done in this research work aims to generate a new way of looking to Business Management, focusing on companies that adopt Continuous Improvement, using a structured flow of tools and techniques. In structured approaches to Continuous Improvement management frameworks recurrently uses modelling support pillars. This study is based on a company that has implemented eight-pillar Total Productive Maintenance (TPM) and uses performance indicators to monitor the state of systems and processes. The first step involved the application of the Cluster, Discriminant and Principal Component Analysis, so that it was possible to aggregate the indicators of each pillar. The processes of strategic management of the company and management of the pillars have been taken into account. Through the proposed approach a reduction of around 86% in the total number of pillar of the company was obtained, avoiding diverse informational wastes through redundancies of information, increased reliability, coherence and ease of access to it as well as greater visibilities of their interactions and information responsibilities necessary to the management of systems management of continuous improvement, based on pillars of action

    Software Engineering Laboratory Series: Proceedings of the Twenty-Second Annual Software Engineering Workshop

    Get PDF
    The Software Engineering Laboratory (SEL) is an organization sponsored by NASA/GSFC and created to investigate the effectiveness of software engineering technologies when applied to the development of application software. The activities, findings, and recommendations of the SEL are recorded in the Software Engineering Laboratory Series, a continuing series of reports that includes this document
    • …
    corecore