The document presents a new dynamic programming approach to segment execution traces into concepts. It aims to overcome limitations of prior work such as scalability and producing consistent segmentations. The approach models trace segmentation as a dynamic programming problem to efficiently compute optimal splits. An empirical study shows the dynamic programming approach significantly outperforms a prior genetic algorithm approach in terms of segmentation quality, time taken, and scalability. Future work aims to further validate scalability and generalizability of the approach.
The document presents a new approach to segment execution traces into concepts using dynamic programming. It aims to overcome limitations of previous search-based approaches which were not scalable and produced different results each run. The new approach formulates trace segmentation as a dynamic programming problem, allowing it to reuse computed cohesion and coupling scores between segments for improved performance. An empirical study shows the dynamic programming approach significantly outperforms genetic algorithms in terms of time to produce segmentations and scalability.
Presentation of the Evolving Distribution Objects FrameworkCaner Candan
The document discusses an evolving distribution objects (EDO) framework for solving hard optimization problems using heuristic optimization algorithms. It provides an overview of the author's work including applying estimation of distribution algorithms and simulated annealing within the EDO framework. It also discusses the theoretical underpinnings of estimation of distribution algorithms and simulated annealing, and how they were combined in the EDO framework using an object-oriented design based on inheritance in C++.
This document provides an overview of algorithmic issues in computational intelligence optimization from design to implementation. It discusses key concepts in optimization problems including analytical approaches, exact methods, approximate iterative methods, and metaheuristics. It also examines challenges in optimizing real-world problems that are highly non-linear, multi-modal, computationally expensive, and have memory/time constraints. The document concludes by discussing the need for algorithms to balance exploration and exploitation and to adapt to problem landscapes.
- The document presents a seismology-inspired approach to study change propagation in software systems. It uses an earthquake metaphor where a change to a class is an earthquake that propagates through relationships between classes.
- The approach identifies important classes, class levels based on dependencies, and impacted classes based on historical co-changes. It was evaluated on three open source projects to analyze the scope and levels impacted by changes.
- The results show that the approach can observe change propagation through different class levels. The levels closest to the changed class tend to be most impacted. The lowest levels are usually reached by the most change propagations.
ESR8 Liangyou Li - EXPERT Summer School - Malaga 2015RIILP
The document discusses facilitating statistical machine translation (SMT) with memory and dependency structures. It aims to improve SMT by remembering repetitive sentences through a translation memory (TM) and by using dependency-based translation to leverage long-distance relations. The proposed approach integrates TM features and multiple matches into a phrase-based SMT system and extends the system with a dependency-based translation model. Experimental results on English-Chinese and English-French translation tasks show improvements in BLEU scores from adding these components.
Comparison of Human Machine Interfaces to Control a Robotized WheelchairSuzana Viana Mota
DEMO: https://www.youtube.com/watch?v=8c8PuASMdFk
Assistive robotics solutions help people to recover their lost mobility and autonomy in their daily life. This work presents a comparison between two Human Machine Interfaces (HMIs) based on head postures and facial expressions to control a robotized wheelchair. Comparing both strategies, JoyFace has shown to be the safest and easiest to use, on the other hand, RealSense has demanded more physical efforts but may be
the appropriate solution for people who suffered severe trauma as most of them cannot even move their heads. Although both HMIs need improvements, these strategies have shown to be promising technologies for people paralyzed from down the neck to control a robotized wheelchair.
The document presents a new approach to segment execution traces into concepts using dynamic programming. It aims to overcome limitations of previous search-based approaches which were not scalable and produced different results each run. The new approach formulates trace segmentation as a dynamic programming problem, allowing it to reuse computed cohesion and coupling scores between segments for improved performance. An empirical study shows the dynamic programming approach significantly outperforms genetic algorithms in terms of time to produce segmentations and scalability.
Presentation of the Evolving Distribution Objects FrameworkCaner Candan
The document discusses an evolving distribution objects (EDO) framework for solving hard optimization problems using heuristic optimization algorithms. It provides an overview of the author's work including applying estimation of distribution algorithms and simulated annealing within the EDO framework. It also discusses the theoretical underpinnings of estimation of distribution algorithms and simulated annealing, and how they were combined in the EDO framework using an object-oriented design based on inheritance in C++.
This document provides an overview of algorithmic issues in computational intelligence optimization from design to implementation. It discusses key concepts in optimization problems including analytical approaches, exact methods, approximate iterative methods, and metaheuristics. It also examines challenges in optimizing real-world problems that are highly non-linear, multi-modal, computationally expensive, and have memory/time constraints. The document concludes by discussing the need for algorithms to balance exploration and exploitation and to adapt to problem landscapes.
- The document presents a seismology-inspired approach to study change propagation in software systems. It uses an earthquake metaphor where a change to a class is an earthquake that propagates through relationships between classes.
- The approach identifies important classes, class levels based on dependencies, and impacted classes based on historical co-changes. It was evaluated on three open source projects to analyze the scope and levels impacted by changes.
- The results show that the approach can observe change propagation through different class levels. The levels closest to the changed class tend to be most impacted. The lowest levels are usually reached by the most change propagations.
ESR8 Liangyou Li - EXPERT Summer School - Malaga 2015RIILP
The document discusses facilitating statistical machine translation (SMT) with memory and dependency structures. It aims to improve SMT by remembering repetitive sentences through a translation memory (TM) and by using dependency-based translation to leverage long-distance relations. The proposed approach integrates TM features and multiple matches into a phrase-based SMT system and extends the system with a dependency-based translation model. Experimental results on English-Chinese and English-French translation tasks show improvements in BLEU scores from adding these components.
Comparison of Human Machine Interfaces to Control a Robotized WheelchairSuzana Viana Mota
DEMO: https://www.youtube.com/watch?v=8c8PuASMdFk
Assistive robotics solutions help people to recover their lost mobility and autonomy in their daily life. This work presents a comparison between two Human Machine Interfaces (HMIs) based on head postures and facial expressions to control a robotized wheelchair. Comparing both strategies, JoyFace has shown to be the safest and easiest to use, on the other hand, RealSense has demanded more physical efforts but may be
the appropriate solution for people who suffered severe trauma as most of them cannot even move their heads. Although both HMIs need improvements, these strategies have shown to be promising technologies for people paralyzed from down the neck to control a robotized wheelchair.
IRJET- Design an Approach for Prediction of Human Activity Recognition us...IRJET Journal
The document proposes a framework for human activity recognition using smartphones. It involves collecting data from a smartphone's accelerometer and gyroscope sensors worn on the waist during various activities of daily living. The data is preprocessed and classified using machine learning algorithms like Naive Bayes, logistic regression, and SVM. The proposed framework first loads and preprocesses the sensor data, then generates features before splitting the data into training and test sets. Various classifiers are applied and evaluated to select the best performing one for activity recognition. The authors conclude that implementing tri-axial acceleration from sensors provides different accuracy for different algorithms, with SVM achieving maximum accuracy in previous work.
Machine Learning: Foundations Course Number 0368403401butest
This machine learning course will cover theoretical and practical machine learning concepts. It will include 4 homework assignments and programming in Matlab. Lectures will be supplemented by student-submitted class notes in LaTeX. Topics will include learning approaches like storage and retrieval, rule learning, and flexible model estimation, as well as applications in areas like control, medical diagnosis, and web search. A final exam format has not been determined yet.
Machine Learning: Foundations Course Number 0368403401butest
This machine learning course will cover theoretical and practical machine learning concepts. It will include 4 homework assignments and programming in Matlab. Lectures will be supplemented by student-submitted class notes in LaTeX. Topics will include learning approaches like storage and retrieval, rule learning, and flexible model estimation, as well as applications in areas like control, medical diagnosis, and web search. A final exam format has not been determined yet.
Intelligent Video Surveillance System using Deep LearningIRJET Journal
This document discusses an intelligent video surveillance system using deep learning. It proposes a framework that first detects abnormal human activity in video streams using an effective CNN model. It then tracks detected individuals throughout the video using an ultra-fast object tracker. Feature extraction is performed on consecutive frames using a CNN, and a deep learning model is trained to recognize and detect activities based on temporal changes in frames. The system aims to allow for quick abnormal activity detection with low computational complexity compared to other methods.
Better neuroimaging data processing: driven by evidence, open communities, an...Gael Varoquaux
My current thoughts about methods validity and design in brain imaging.
Data processing is a significant part of a neuroimaging study. The choice of corresponding methods and tools is crucial. I will give an opinionated view how on a path to building better data processing for neuroimaging. I will take examples on endeavors that I contributed to: defining standards for functional-connectivity analysis, the nilearn neuroimaging tool, the scikit-learn machine-learning toolbox -an industry standard with a million regular users. I will cover not only the technical process -statistics, signal processing, software engineering- but also the epistemology of methods development. Methods govern our results, they are more than a technical detail.
Event-Handling Based Smart Video Surveillance SystemCSCJournals
a broad range of applications. Moving object classification in the field of video surveillance is a key component of smart surveillance software. In this paper, we have proposed reliable software with its large features for people, vehicle and object classification which works well in challenging real-world constraints, including the presence of shadows, low resolution imagery, occlusion, perspective distortions, arbitrary camera viewpoints, and groups of people. We have discussed a generic model of smart video surveillance systems that can meet requirements of strong commercial applications and also shown the implication of the software for the security purposes which made the whole system as a smart network. Smart surveillance systems use automatic image understanding techniques to extract information from the surveillance data.
Miguel Simao presents the results of his JVSRP project to develop an inertial sensing system to assist EMG-based gesture recognition devices. He created a body-centered system using three IMUs and a kinematic model to determine arm orientation. After calibrating the system, he was able to accurately recognize arm postures using artificial neural networks on the rotation matrices with over 99.5% accuracy. Future work includes improving gyro drift correction in zero-gravity and further integrating the system with an EMG-based device.
Bibliometric Analysis on Computer Vision based Anomaly Detection using Deep L...IRJET Journal
This document discusses a bibliometric analysis of research on computer vision-based anomaly detection using deep learning. It analyzes 385 documents from 2012-2021 that used keywords related to anomaly detection, the UCF-Crime dataset, image processing, artificial intelligence, and deep learning. The analysis examines publication types, contributing countries and authors, organizational trends, and citations to understand research progress in this area. It finds growing research from 2018-2021 and identifies opportunities for future work in smart surveillance systems using anomaly detection.
The document presents an approach called ADvISE to evaluate architectural decay in software systems. It proposes measures to identify structural changes between versions of architectures and metrics to detect signs of decay. An empirical study of three open source projects analyzes how stable and unstable parts of architectures relate to fault-proneness over time. The results suggest that stable micro-architectures from the original design are significantly less bug-prone than unstable parts.
Machine Learning: Foundations Course Number 0368403401butest
This machine learning foundations course will consist of 4 homework assignments, both theoretical and programming problems in Matlab. There will be a final exam. Students will work in groups of 2-3 to take notes during classes in LaTeX format. These class notes will contribute 30% to the overall grade. The course will cover basic machine learning concepts like storage and retrieval, learning rules, estimating flexible models, and applications in areas like control, medical diagnosis, and document retrieval.
From Engineer to Alchemist, There and Back Again: An Alchemist TaleDanilo Pianini
The document discusses simulation and the Alchemist simulation tool. It begins with definitions of simulation and discusses how models and simulations are used. It then describes the computational model and engine architecture of Alchemist, which extends existing stochastic chemical simulation approaches. Several case studies using Alchemist are presented, including crowd evacuation and morphogenesis. Performance tests show Alchemist outperforms Repast for larger simulations. The development process of Alchemist is also distributed across multiple contributors.
The document summarizes news from the COGAIN Association and DTU. It discusses that COGAIN has 23 institutional members including universities and research institutes as well as manufacturers. It has 74 personal members from various countries. It discusses standardization efforts including developing standards for infrared safety and measuring eye tracker accuracy. It also discusses the COGAIN Association general assembly and new board members. The document concludes with discussing projects at DTU including modular playware tiles for rehabilitation, a smartphone that can function as a portable brain scanner, and augmenting sound at music festivals using mobile phones.
Dynamic Fractional Resource Scheduling Practical Issues and Future Directions...Mark Stillwell
The document describes research into Dynamic Fractional Resource Scheduling (DFRS) for high performance computing. DFRS uses virtual machine technology to allow fractional allocation of resources like CPU cores and memory. It formulates scheduling as an online optimization problem to minimize job stretch. A simulator was developed to evaluate heuristics for task placement and resource allocation. Preliminary results show DFRS performs well compared to theoretical bounds, with potential for further optimization and a working prototype.
Big data expo - machine learning in the elastic stack BigDataExpo
This document discusses machine learning capabilities in the Elastic Stack. It describes how machine learning algorithms can be used for tasks like time series anomaly detection, log message classification, and forecasting. Examples are provided of using unsupervised learning to detect changes in system behavior from time series data and unusual log messages. The Elastic Stack components involved in ingesting, enriching, visualizing, analyzing and alerting on machine learning results are also outlined.
Symposium 2019 : Gestion de projet en Intelligence ArtificiellePMI-Montréal
L’objectif d’un projet impliquant l’intelligence artificielle est d’accélérer la prise de décision, voir même, d’automatiser les actions qui doivent être effectuées dans le cadre d’une tache. La principale difficulté est qu’il n’est pas possible de savoir à l’avance quelle méthode d’AI permettra d’atteindre l’objectif. La gestion du projet est souvent atypique et nécessite d’être flexible en respectant toutefois des contraintes de budget. Pour cette raison une approche waterfall est à éviter. Toutefois, nous allons voir qu’elle peut être exploitée dans certaines phases du projet.
Lors de cette présentation, nous allons voir les trois phases du projet : prototypage de la solution, mise en production, ainsi que les stratégies de maintien à plus long terme de la solution.
Dr. Nathanael Weill
3.survey on wireless intelligent video surveillance system using moving objec...Alexander Decker
This document summarizes a survey on wireless intelligent video surveillance systems using moving object recognition technology. It describes the typical components and processing steps of such systems, including motion detection using background subtraction, object tracking, and transmitting detected objects wirelessly. The document also reviews the evolution of video surveillance technologies from analog CCTV to modern wireless intelligent systems and discusses design considerations like video quality and compression.
11.0003www.iiste.org call for paper.survey on wireless intelligent video surv...Alexander Decker
This document summarizes a survey on wireless intelligent video surveillance systems using moving object recognition technology. It describes the typical components and processes involved, including capturing video, creating a background template, detecting moving objects via background subtraction, and sending the separated moving object to a destination. It also discusses techniques for motion detection, such as frame differencing, background subtraction, and optical flow. The system architecture involves a camera capturing video, subtracting frames to identify moving objects, and transmitting just the moving objects.
In the modern world, we are permanently using, leveraging, interacting with, and relying upon systems of ever higher sophistication, ranging from our cars, recommender systems in eCommerce, and networks when we go online, to integrated circuits when using our PCs and smartphones, security-critical software when accessing our bank accounts, and spreadsheets for financial planning and decision making. The complexity of these systems coupled with our high dependency on them implies both a non-negligible likelihood of system failures, and a high potential that such failures have significant negative effects on our everyday life. For that reason, it is a vital requirement to keep the harm of emerging failures to a minimum, which means minimizing the system downtime as well as the cost of system repair. This is where model-based diagnosis comes into play.
Model-based diagnosis is a principled, domain-independent approach that can be generally applied to troubleshoot systems of a wide variety of types, including all the ones mentioned above. It exploits and orchestrates techniques for knowledge representation, automated reasoning, heuristic problem solving, intelligent search, learning, stochastics, statistics, decision making under uncertainty, as well as combinatorics and set theory to detect, localize, and fix faults in abnormally behaving systems.
In this talk, we will give an introduction to the topic of model-based diagnosis, point out the major challenges in the field, and discuss a selection of approaches from our research addressing these challenges. For instance, we will present methods for the optimization of the time and memory performance of diagnosis systems, show efficient techniques for a semi-automatic debugging by interacting with a user or expert, and demonstrate how our algorithms can be effectively leveraged in important application domains such as scheduling or the Semantic Web.
Adaptive Machine Learning for Credit Card Fraud DetectionAndrea Dal Pozzolo
This document discusses machine learning techniques for credit card fraud detection. It addresses challenges like concept drift, imbalanced data, and limited supervised data. The author proposes contributions in learning from imbalanced and evolving data streams, a prototype fraud detection system using all supervised information, and a software package/dataset. Methods discussed include resampling techniques, concept drift handling, and a "racing" algorithm to efficiently select the best strategy for unbalanced classification on a given dataset. Evaluation measures the ability to accurately rank transactions by fraud risk.
Interactive Evolutionary Computation (IEC) allows users to play a role in evolutionary algorithms by evaluating solutions. There are two definitions of IEC - narrow, where the user acts as the fitness function, and broad, where the user controls the search. IEC began in the 1980s and grew popular in the early 1990s. While application-focused, researchers have identified issues with IEC like user fatigue and developed techniques like fitness prediction and clustering to address them. Overall, IEC is a young field that could benefit from more formalization and understanding of techniques to better assist users.
Some Pitfalls with Python and Their Possible Solutions v1.0Yann-Gaël Guéhéneuc
Python is a very popular programming language that comes with many pitfalls. This presentation describes some of these pitfalls, especially when they could trick unsuspecting object-oriented developers. It proposes solutions to these pitfalls, in particular regarding inheritance, which is easily broken because of the implementation choice of Python for explicit delegation, its method resolution order, and its use of the C3 algorithm. It discusses some advantages of using Python, especially regarding meta-classes.
Advice for writing a NSERC Discovery grant application v0.5Yann-Gaël Guéhéneuc
NSERC Discovery grant applications are judged according to four criteria: (1) Excellence of the researcher, (2) Merit of the proposal, (3) Contribution to the training of HQP, and (4) Cost of research. Each criterion has six possible merit indicators: Exceptional, Outstanding, Very strong, Strong, Moderate, and Insufficient. This presentation describes the process from a candidate's point of view and a reviewer's point of view. It discusses funding decisions, including bins and ER vs. ECR. It gives some advice, including graduating PhD students, having a story, and limiting the number of main objectives.
IRJET- Design an Approach for Prediction of Human Activity Recognition us...IRJET Journal
The document proposes a framework for human activity recognition using smartphones. It involves collecting data from a smartphone's accelerometer and gyroscope sensors worn on the waist during various activities of daily living. The data is preprocessed and classified using machine learning algorithms like Naive Bayes, logistic regression, and SVM. The proposed framework first loads and preprocesses the sensor data, then generates features before splitting the data into training and test sets. Various classifiers are applied and evaluated to select the best performing one for activity recognition. The authors conclude that implementing tri-axial acceleration from sensors provides different accuracy for different algorithms, with SVM achieving maximum accuracy in previous work.
Machine Learning: Foundations Course Number 0368403401butest
This machine learning course will cover theoretical and practical machine learning concepts. It will include 4 homework assignments and programming in Matlab. Lectures will be supplemented by student-submitted class notes in LaTeX. Topics will include learning approaches like storage and retrieval, rule learning, and flexible model estimation, as well as applications in areas like control, medical diagnosis, and web search. A final exam format has not been determined yet.
Machine Learning: Foundations Course Number 0368403401butest
This machine learning course will cover theoretical and practical machine learning concepts. It will include 4 homework assignments and programming in Matlab. Lectures will be supplemented by student-submitted class notes in LaTeX. Topics will include learning approaches like storage and retrieval, rule learning, and flexible model estimation, as well as applications in areas like control, medical diagnosis, and web search. A final exam format has not been determined yet.
Intelligent Video Surveillance System using Deep LearningIRJET Journal
This document discusses an intelligent video surveillance system using deep learning. It proposes a framework that first detects abnormal human activity in video streams using an effective CNN model. It then tracks detected individuals throughout the video using an ultra-fast object tracker. Feature extraction is performed on consecutive frames using a CNN, and a deep learning model is trained to recognize and detect activities based on temporal changes in frames. The system aims to allow for quick abnormal activity detection with low computational complexity compared to other methods.
Better neuroimaging data processing: driven by evidence, open communities, an...Gael Varoquaux
My current thoughts about methods validity and design in brain imaging.
Data processing is a significant part of a neuroimaging study. The choice of corresponding methods and tools is crucial. I will give an opinionated view how on a path to building better data processing for neuroimaging. I will take examples on endeavors that I contributed to: defining standards for functional-connectivity analysis, the nilearn neuroimaging tool, the scikit-learn machine-learning toolbox -an industry standard with a million regular users. I will cover not only the technical process -statistics, signal processing, software engineering- but also the epistemology of methods development. Methods govern our results, they are more than a technical detail.
Event-Handling Based Smart Video Surveillance SystemCSCJournals
a broad range of applications. Moving object classification in the field of video surveillance is a key component of smart surveillance software. In this paper, we have proposed reliable software with its large features for people, vehicle and object classification which works well in challenging real-world constraints, including the presence of shadows, low resolution imagery, occlusion, perspective distortions, arbitrary camera viewpoints, and groups of people. We have discussed a generic model of smart video surveillance systems that can meet requirements of strong commercial applications and also shown the implication of the software for the security purposes which made the whole system as a smart network. Smart surveillance systems use automatic image understanding techniques to extract information from the surveillance data.
Miguel Simao presents the results of his JVSRP project to develop an inertial sensing system to assist EMG-based gesture recognition devices. He created a body-centered system using three IMUs and a kinematic model to determine arm orientation. After calibrating the system, he was able to accurately recognize arm postures using artificial neural networks on the rotation matrices with over 99.5% accuracy. Future work includes improving gyro drift correction in zero-gravity and further integrating the system with an EMG-based device.
Bibliometric Analysis on Computer Vision based Anomaly Detection using Deep L...IRJET Journal
This document discusses a bibliometric analysis of research on computer vision-based anomaly detection using deep learning. It analyzes 385 documents from 2012-2021 that used keywords related to anomaly detection, the UCF-Crime dataset, image processing, artificial intelligence, and deep learning. The analysis examines publication types, contributing countries and authors, organizational trends, and citations to understand research progress in this area. It finds growing research from 2018-2021 and identifies opportunities for future work in smart surveillance systems using anomaly detection.
The document presents an approach called ADvISE to evaluate architectural decay in software systems. It proposes measures to identify structural changes between versions of architectures and metrics to detect signs of decay. An empirical study of three open source projects analyzes how stable and unstable parts of architectures relate to fault-proneness over time. The results suggest that stable micro-architectures from the original design are significantly less bug-prone than unstable parts.
Machine Learning: Foundations Course Number 0368403401butest
This machine learning foundations course will consist of 4 homework assignments, both theoretical and programming problems in Matlab. There will be a final exam. Students will work in groups of 2-3 to take notes during classes in LaTeX format. These class notes will contribute 30% to the overall grade. The course will cover basic machine learning concepts like storage and retrieval, learning rules, estimating flexible models, and applications in areas like control, medical diagnosis, and document retrieval.
From Engineer to Alchemist, There and Back Again: An Alchemist TaleDanilo Pianini
The document discusses simulation and the Alchemist simulation tool. It begins with definitions of simulation and discusses how models and simulations are used. It then describes the computational model and engine architecture of Alchemist, which extends existing stochastic chemical simulation approaches. Several case studies using Alchemist are presented, including crowd evacuation and morphogenesis. Performance tests show Alchemist outperforms Repast for larger simulations. The development process of Alchemist is also distributed across multiple contributors.
The document summarizes news from the COGAIN Association and DTU. It discusses that COGAIN has 23 institutional members including universities and research institutes as well as manufacturers. It has 74 personal members from various countries. It discusses standardization efforts including developing standards for infrared safety and measuring eye tracker accuracy. It also discusses the COGAIN Association general assembly and new board members. The document concludes with discussing projects at DTU including modular playware tiles for rehabilitation, a smartphone that can function as a portable brain scanner, and augmenting sound at music festivals using mobile phones.
Dynamic Fractional Resource Scheduling Practical Issues and Future Directions...Mark Stillwell
The document describes research into Dynamic Fractional Resource Scheduling (DFRS) for high performance computing. DFRS uses virtual machine technology to allow fractional allocation of resources like CPU cores and memory. It formulates scheduling as an online optimization problem to minimize job stretch. A simulator was developed to evaluate heuristics for task placement and resource allocation. Preliminary results show DFRS performs well compared to theoretical bounds, with potential for further optimization and a working prototype.
Big data expo - machine learning in the elastic stack BigDataExpo
This document discusses machine learning capabilities in the Elastic Stack. It describes how machine learning algorithms can be used for tasks like time series anomaly detection, log message classification, and forecasting. Examples are provided of using unsupervised learning to detect changes in system behavior from time series data and unusual log messages. The Elastic Stack components involved in ingesting, enriching, visualizing, analyzing and alerting on machine learning results are also outlined.
Symposium 2019 : Gestion de projet en Intelligence ArtificiellePMI-Montréal
L’objectif d’un projet impliquant l’intelligence artificielle est d’accélérer la prise de décision, voir même, d’automatiser les actions qui doivent être effectuées dans le cadre d’une tache. La principale difficulté est qu’il n’est pas possible de savoir à l’avance quelle méthode d’AI permettra d’atteindre l’objectif. La gestion du projet est souvent atypique et nécessite d’être flexible en respectant toutefois des contraintes de budget. Pour cette raison une approche waterfall est à éviter. Toutefois, nous allons voir qu’elle peut être exploitée dans certaines phases du projet.
Lors de cette présentation, nous allons voir les trois phases du projet : prototypage de la solution, mise en production, ainsi que les stratégies de maintien à plus long terme de la solution.
Dr. Nathanael Weill
3.survey on wireless intelligent video surveillance system using moving objec...Alexander Decker
This document summarizes a survey on wireless intelligent video surveillance systems using moving object recognition technology. It describes the typical components and processing steps of such systems, including motion detection using background subtraction, object tracking, and transmitting detected objects wirelessly. The document also reviews the evolution of video surveillance technologies from analog CCTV to modern wireless intelligent systems and discusses design considerations like video quality and compression.
11.0003www.iiste.org call for paper.survey on wireless intelligent video surv...Alexander Decker
This document summarizes a survey on wireless intelligent video surveillance systems using moving object recognition technology. It describes the typical components and processes involved, including capturing video, creating a background template, detecting moving objects via background subtraction, and sending the separated moving object to a destination. It also discusses techniques for motion detection, such as frame differencing, background subtraction, and optical flow. The system architecture involves a camera capturing video, subtracting frames to identify moving objects, and transmitting just the moving objects.
In the modern world, we are permanently using, leveraging, interacting with, and relying upon systems of ever higher sophistication, ranging from our cars, recommender systems in eCommerce, and networks when we go online, to integrated circuits when using our PCs and smartphones, security-critical software when accessing our bank accounts, and spreadsheets for financial planning and decision making. The complexity of these systems coupled with our high dependency on them implies both a non-negligible likelihood of system failures, and a high potential that such failures have significant negative effects on our everyday life. For that reason, it is a vital requirement to keep the harm of emerging failures to a minimum, which means minimizing the system downtime as well as the cost of system repair. This is where model-based diagnosis comes into play.
Model-based diagnosis is a principled, domain-independent approach that can be generally applied to troubleshoot systems of a wide variety of types, including all the ones mentioned above. It exploits and orchestrates techniques for knowledge representation, automated reasoning, heuristic problem solving, intelligent search, learning, stochastics, statistics, decision making under uncertainty, as well as combinatorics and set theory to detect, localize, and fix faults in abnormally behaving systems.
In this talk, we will give an introduction to the topic of model-based diagnosis, point out the major challenges in the field, and discuss a selection of approaches from our research addressing these challenges. For instance, we will present methods for the optimization of the time and memory performance of diagnosis systems, show efficient techniques for a semi-automatic debugging by interacting with a user or expert, and demonstrate how our algorithms can be effectively leveraged in important application domains such as scheduling or the Semantic Web.
Adaptive Machine Learning for Credit Card Fraud DetectionAndrea Dal Pozzolo
This document discusses machine learning techniques for credit card fraud detection. It addresses challenges like concept drift, imbalanced data, and limited supervised data. The author proposes contributions in learning from imbalanced and evolving data streams, a prototype fraud detection system using all supervised information, and a software package/dataset. Methods discussed include resampling techniques, concept drift handling, and a "racing" algorithm to efficiently select the best strategy for unbalanced classification on a given dataset. Evaluation measures the ability to accurately rank transactions by fraud risk.
Interactive Evolutionary Computation (IEC) allows users to play a role in evolutionary algorithms by evaluating solutions. There are two definitions of IEC - narrow, where the user acts as the fitness function, and broad, where the user controls the search. IEC began in the 1980s and grew popular in the early 1990s. While application-focused, researchers have identified issues with IEC like user fatigue and developed techniques like fitness prediction and clustering to address them. Overall, IEC is a young field that could benefit from more formalization and understanding of techniques to better assist users.
Some Pitfalls with Python and Their Possible Solutions v1.0Yann-Gaël Guéhéneuc
Python is a very popular programming language that comes with many pitfalls. This presentation describes some of these pitfalls, especially when they could trick unsuspecting object-oriented developers. It proposes solutions to these pitfalls, in particular regarding inheritance, which is easily broken because of the implementation choice of Python for explicit delegation, its method resolution order, and its use of the C3 algorithm. It discusses some advantages of using Python, especially regarding meta-classes.
Advice for writing a NSERC Discovery grant application v0.5Yann-Gaël Guéhéneuc
NSERC Discovery grant applications are judged according to four criteria: (1) Excellence of the researcher, (2) Merit of the proposal, (3) Contribution to the training of HQP, and (4) Cost of research. Each criterion has six possible merit indicators: Exceptional, Outstanding, Very strong, Strong, Moderate, and Insufficient. This presentation describes the process from a candidate's point of view and a reviewer's point of view. It discusses funding decisions, including bins and ER vs. ECR. It gives some advice, including graduating PhD students, having a story, and limiting the number of main objectives.
Ptidej Architecture, Design, and Implementation in Action v2.1Yann-Gaël Guéhéneuc
A set of process, architecture, design, and implementation patterns from a real, large program, the Ptidej Tool Suite. This set shows concrete problems and their solutions in Java. It includes: Be A Profiler, Tests as Documentation, Multi-layered Architecture, Proxy Console, Proxy Disk, Hidden Language, Internal Observer, Run-time Deprecation, String Parsimony, Object Identity, Object Address, Final Construction, StringBuffer as Positioning Element.
Examples of (bad) consequences of a lack of software quality and some solutions. This presentation presents some examples of (bad) consequences of a lack of software quality, in particular how poor software quality led to the direct deaths of 89 people. It then provides some background on software quality, especially the concept of Quality Without a Name. It then discusses many principles, their usefulness, and their positive consequences on software quality. Some of these principles are well-known in object-oriented programming while many others are taken from the book 97 Programmers. They include: abstraction, encapsulation, inheritance, types, polymorphism, SOLID, GRASP, YAGNI, KISS, DRY, Do Not Reinvent the Wheel, Law of Demeter, Beware of Assumptions, Deletable Code, coding with reason, and functional programming. They pertain to dependencies, domains, and tools.
(In details: Beautify is Simplicity, The Boy Scout Rule, You Gotta Care About the Code, The Longevity of Interim Solutions, Beware the Share, Encapsulate Behaviour not Just State, Single Responsibility Principle, WET Dilutes Performance Bottlenecks, Convenience Is Not an -ility, Code in the Language of the Domain, Comment Only What the Code Cannot Say, Distinguish Business Exception from Technical, Prefer Domain-specific Types to Primitive Types, Automate Your Coding Standards, Code Layout Matters, Before You Refactor, Improve Code by Removing It, Put the Mouse Down and Step Away from the Keyboard)
Some Pitfalls with Python and Their Possible Solutions v0.9Yann-Gaël Guéhéneuc
Python is a very popular programming language that comes with many pitfalls. This presentation describes some of these pitfalls, especially when they could trick unsuspecting object-oriented developers. It proposes solutions to these pitfalls, in particular regarding inheritance, which is easily broken because of the implementation choice of Python for explicit delegation, its method resolution order, and its use of the C3 algorithm. It discusses some advantages of using Python, especially regarding meta-classes.
An Explanation of the Unicode, the Text Encoding Standard, Its Usages and Imp...Yann-Gaël Guéhéneuc
Unicode is currently the world standard for encoding text. It supports all of the world's major writing systems. With its version 15.1 of 2023/09/12, it defines 149,813 characters and 161 scripts. This presentation starts with the, seemingly, simple example of the polar bear emoji. It then defines the key terms of any such standard. It then asks how a software system can render orthographic characters into glyphs, i.e., to render characters into (combined) glyphs. It introduces the concept of abstract characters and describes a brief history of encoding standards, from ASCII to Unicode. It shows how, by adding one level of indirection, the Unicode standard answers this question. It then presents code examples to display text written in Unicode: HarfBuzz (for shaping) and FreeType (for rendering).
An Explanation of the Halting Problem and Its ConsequencesYann-Gaël Guéhéneuc
The halting problem is an important, famous, and consequential problem in computer science. It is about writing a program that decides if another problem will stop. There is no general solution to this problem, which shows that such a problem is undecidable, with important consequences: for example, it is not possible to write tests that would exhaustively test entirely an arbitrary program. This presentation was written in collaboration with <a href="https://www.iro.umontreal.ca/~hahn/">Gena Hahn</a>.
A presentation summarising FPGAs, their history, their benefits, and showing how to program them. It provides some historical background on the development of computers, from the Difference Engine to the Intel 4004 to the AMD Ryzen Threadripper PRO 3995WX. It shows how the number of transistors increased dramatically but also how this increase led to more complexity and more bugs. It then introduces Field-programmable gate arrays (FPGA) as an alternative. It then presents how to program such FPGA using data-flow graphs. It discusses some tools (Yosys, NextPnR, and IceStorm) and illustrates them with a typical "Hello World" (i.e., blinking an LED) using Cygwin on Windows 10.
A set of brief presentations of some of the women and men who made the history of computer science and software engineering.
- 1936: Alan Turing
- 1948: Claude Elwood Shannon
- 1950: Grace Murray Hopper
- 1960: John McCarthy
- 1966: Frances E. Allen
- 1967: Ole-Johan Dahl
- 1967: Kristen Nygaard
- 1969: Charles A. R. Hoare
- 1970: Edgar F. Codd
- 1972: Dave Parnas
- 1974: Manny Lehman
- 1975: Frederick Brooks
- 1986: Edward Yourdon
- 1987: Barbara Liskov
- 1994: Erich Gamma
- 1997: Grady Booch
- 2001: Butler Lampson
A tutorial on the history, use, and caveats of Java generics. Using the simple example of an interface for sort algorithms, the tutorial presents the history of generics and describes the problems being solved by generics. It also provides definitions, and examples in Java and C++, and discusses Duck Typing. It then describes two scenarios: (1) Scenario 1: you want to enforce type safety for containers and remove the need for typecasts when using these containers and (2) Scenario 2: you want to build generic algorithms that work on several types of (possibly unrelated) things. It also summarises caveats with generics, in particular type erasure.
A tutorial on reflection, with a particular emphasis on Java, with a comparison with C++, Python, and Smalltalk. It describes different scenarios in which reflection is useful, a brief history of reflection and MOPs, a comparison with C++, Python, and Smalltalk, and some particulars about Java. The source code of the examples in Java (Eclipse project), Smalltalk (Squeak image v3.10.6), Python (Eclipse project), and C++ (Eclipse projects and Visual Studio solution) are available. (C++ Eclipse projects require Mirror.) Big thanks to Matúš Chochlík and Marcus Denker for their kind and precious help with C++ and Smalltalk.
The tutorial focuses on four common problems:
- Avoid using instanceof when code must bypass the compiler and virtual machine’s choice of the method to call.
- Create external, user-defined pieces of code loaded, used, and unloaded at run-time.
- Translate data structures or object states into a format that can be stored (file, network...).
- Monitor the execution of a program to understand its behaviour, and measure its space and time complexity.
It shows working examples of Java, Smalltalk, Python, and C++ code solving the four common problems through four scenarios:
- Scenario 1: invoke an arbitrary method on an object (see the problems with instanceof and plugins).
- Scenario 2: access the complete (including private) state of an object (see the problem with serialisation).
- Scenario 3: count the number of instances of a class created at runtime (see the problem with debugging/profiling).
- Scenario 4: patch the method of a class to change its behaviour (see the problem with patching).
It also discusses the different kinds of interconnections among objects that are available in common programming languages (linking, forking, subclassing, inter-process communication, and dynamic loading/invoking), a bit of theory about reflection, and specifically the class-loading mechanism of Java.
REST APIs are nowadays the de-facto standard for Web applications. However, as more systems and services adopt the REST architectural style, many problems arise regularly. To avoid these repetitive problems, developers should follow good practices and avoid bad practices. Thus, research on good and bad practices and how to design a simple but effective REST API are essential. Yet, to the best of our knowledge, there are only a few concrete solutions to recurring REST API practices, like “API Versioning”. There are works on defining or detecting some practices, but not on solutions to the practices. We present the most up-to-date list of REST API practices and formalize them in the form of REST API (anti)patterns. We validate our design (anti)patterns with a survey and interviews of 55 developers.
Analyzing and Visualizing Projects and their Relations in Software Ecosystems presents an approach to help developers understand and navigate between projects in related software ecosystems. The approach generates word clouds from project documentation to summarize projects. It then maps relationships between word clouds to identify related projects. This allows developers to better understand the scope and connections between projects within software ecosystems.
This document presents an approach for automatically identifying antipatterns in microservice-based systems. It defines a meta-model with 13 components to capture necessary information about a system and its microservices. It also identifies 15 common microservice antipatterns. Detection rules are defined for each antipattern based on analyzing the system's source code, dependencies, configuration and other artifacts. The goal is to develop a tool based on this approach to help developers minimize antipatterns in microservice systems and improve their maintenance and evolution.
The document presents a preliminary study comparing several open-source IoT development frameworks: Eclipse Vorto, ThingML, Node-red, and OpenHab. The researchers designed the study to evaluate the frameworks' ability to support basic IoT application requirements. They implemented examples from three common IoT application categories using each framework and analyzed the results. Overall, Node-red required the least effort while the other frameworks had more limitations. Future work could study how the frameworks complement each other and implement more complex examples.
This document describes a dataset of software engineering problems in video game development extracted from over 200 postmortems published between 1997 and 2019. The dataset contains 1,035 problems across 20 problem types and is intended to summarize developers' experiences and difficulties during game development. It is available on GitHub at the listed URL.
This document summarizes research into software engineering patterns for designing machine learning systems. A survey found that ML developers have little knowledge of applicable architecture and design patterns. A literature review identified 19 scholarly papers and 19 gray documents discussing practices. The research aims to classify ML patterns according to the typical ML pipeline process and software development lifecycle. It identifies 12 architecture patterns, 13 design patterns, and 8 anti-patterns for ML systems. Future work includes documenting the patterns fully and analyzing their impact on ML system quality attributes.
This document describes a type-sensitive service identification approach called ServiceMiner to support the migration of legacy systems to service-oriented architectures. ServiceMiner uses static analysis and detection rules tailored to specific service types to identify services. It was validated on an open-source ERP system, Compiere, where it achieved higher identification accuracy than other approaches and reduced the effort required to identify architecturally significant services. The approach automates service identification, allows prioritizing types, and is extensible to new technologies.
INTRODUCTION TO AI CLASSICAL THEORY TARGETED EXAMPLESanfaltahir1010
Image: Include an image that represents the concept of precision, such as a AI helix or a futuristic healthcare
setting.
Objective: Provide a foundational understanding of precision medicine and its departure from traditional
approaches
Role of theory: Discuss how genomics, the study of an organism's complete set of AI ,
plays a crucial role in precision medicine.
Customizing treatment plans: Highlight how genetic information is used to customize
treatment plans based on an individual's genetic makeup.
Examples: Provide real-world examples of successful application of AI such as genetic
therapies or targeted treatments.
Importance of molecular diagnostics: Explain the role of molecular diagnostics in identifying
molecular and genetic markers associated with diseases.
Biomarker testing: Showcase how biomarker testing aids in creating personalized treatment plans.
Content:
• Ethical issues: Examine ethical concerns related to precision medicine, such as privacy, consent, and
potential misuse of genetic information.
• Regulations and guidelines: Present examples of ethical guidelines and regulations in place to safeguard
patient rights.
• Visuals: Include images or icons representing ethical considerations.
Content:
• Ethical issues: Examine ethical concerns related to precision medicine, such as privacy, consent, and
potential misuse of genetic information.
• Regulations and guidelines: Present examples of ethical guidelines and regulations in place to safeguard
patient rights.
• Visuals: Include images or icons representing ethical considerations.
Content:
• Ethical issues: Examine ethical concerns related to precision medicine, such as privacy, consent, and
potential misuse of genetic information.
• Regulations and guidelines: Present examples of ethical guidelines and regulations in place to safeguard
patient rights.
• Visuals: Include images or icons representing ethical considerations.
Real-world case study: Present a detailed case study showcasing the success of precision
medicine in a specific medical scenario.
Patient's journey: Discuss the patient's journey, treatment plan, and outcomes.
Impact: Emphasize the transformative effect of precision medicine on the individual's
health.
Objective: Ground the presentation in a real-world example, highlighting the practical
application and success of precision medicine.
Data challenges: Address the challenges associated with managing large sets of patient data in precision
medicine.
Technological solutions: Discuss technological innovations and solutions for handling and analyzing vast
datasets.
Visuals: Include graphics representing data management challenges and technological solutions.
Objective: Acknowledge the data-related challenges in precision medicine and highlight innovative solutions.
Data challenges: Address the challenges associated with managing large sets of patient data in precision
medicine.
Technological solutions: Discuss technological innovations and solutions
Flutter is a popular open source, cross-platform framework developed by Google. In this webinar we'll explore Flutter and its architecture, delve into the Flutter Embedder and Flutter’s Dart language, discover how to leverage Flutter for embedded device development, learn about Automotive Grade Linux (AGL) and its consortium and understand the rationale behind AGL's choice of Flutter for next-gen IVI systems. Don’t miss this opportunity to discover whether Flutter is right for your project.
The Key to Digital Success_ A Comprehensive Guide to Continuous Testing Integ...kalichargn70th171
In today's business landscape, digital integration is ubiquitous, demanding swift innovation as a necessity rather than a luxury. In a fiercely competitive market with heightened customer expectations, the timely launch of flawless digital products is crucial for both acquisition and retention—any delay risks ceding market share to competitors.
Using Query Store in Azure PostgreSQL to Understand Query PerformanceGrant Fritchey
Microsoft has added an excellent new extension in PostgreSQL on their Azure Platform. This session, presented at Posette 2024, covers what Query Store is and the types of information you can get out of it.
Unveiling the Advantages of Agile Software Development.pdfbrainerhub1
Learn about Agile Software Development's advantages. Simplify your workflow to spur quicker innovation. Jump right in! We have also discussed the advantages.
DECODING JAVA THREAD DUMPS: MASTER THE ART OF ANALYSISTier1 app
Are you ready to unlock the secrets hidden within Java thread dumps? Join us for a hands-on session where we'll delve into effective troubleshooting patterns to swiftly identify the root causes of production problems. Discover the right tools, techniques, and best practices while exploring *real-world case studies of major outages* in Fortune 500 enterprises. Engage in interactive lab exercises where you'll have the opportunity to troubleshoot thread dumps and uncover performance issues firsthand. Join us and become a master of Java thread dump analysis!
Mobile App Development Company In Noida | Drona InfotechDrona Infotech
Drona Infotech is a premier mobile app development company in Noida, providing cutting-edge solutions for businesses.
Visit Us For : https://www.dronainfotech.com/mobile-application-development/
Malibou Pitch Deck For Its €3M Seed Roundsjcobrien
French start-up Malibou raised a €3 million Seed Round to develop its payroll and human resources
management platform for VSEs and SMEs. The financing round was led by investors Breega, Y Combinator, and FCVC.
14 th Edition of International conference on computer visionShulagnaSarkar2
About the event
14th Edition of International conference on computer vision
Computer conferences organized by ScienceFather group. ScienceFather takes the privilege to invite speakers participants students delegates and exhibitors from across the globe to its International Conference on computer conferences to be held in the Various Beautiful cites of the world. computer conferences are a discussion of common Inventions-related issues and additionally trade information share proof thoughts and insight into advanced developments in the science inventions service system. New technology may create many materials and devices with a vast range of applications such as in Science medicine electronics biomaterials energy production and consumer products.
Nomination are Open!! Don't Miss it
Visit: computer.scifat.com
Award Nomination: https://x-i.me/ishnom
Conference Submission: https://x-i.me/anicon
For Enquiry: Computer@scifat.com
Enhanced Screen Flows UI/UX using SLDS with Tom KittPeter Caitens
Join us for an engaging session led by Flow Champion, Tom Kitt. This session will dive into a technique of enhancing the user interfaces and user experiences within Screen Flows using the Salesforce Lightning Design System (SLDS). This technique uses Native functionality, with No Apex Code, No Custom Components and No Managed Packages required.
Microservice Teams - How the cloud changes the way we workSven Peters
A lot of technical challenges and complexity come with building a cloud-native and distributed architecture. The way we develop backend software has fundamentally changed in the last ten years. Managing a microservices architecture demands a lot of us to ensure observability and operational resiliency. But did you also change the way you run your development teams?
Sven will talk about Atlassian’s journey from a monolith to a multi-tenanted architecture and how it affected the way the engineering teams work. You will learn how we shifted to service ownership, moved to more autonomous teams (and its challenges), and established platform and enablement teams.
Baha Majid WCA4Z IBM Z Customer Council Boston June 2024.pdfBaha Majid
IBM watsonx Code Assistant for Z, our latest Generative AI-assisted mainframe application modernization solution. Mainframe (IBM Z) application modernization is a topic that every mainframe client is addressing to various degrees today, driven largely from digital transformation. With generative AI comes the opportunity to reimagine the mainframe application modernization experience. Infusing generative AI will enable speed and trust, help de-risk, and lower total costs associated with heavy-lifting application modernization initiatives. This document provides an overview of the IBM watsonx Code Assistant for Z which uses the power of generative AI to make it easier for developers to selectively modernize COBOL business services while maintaining mainframe qualities of service.
Measures in SQL (SIGMOD 2024, Santiago, Chile)Julian Hyde
SQL has attained widespread adoption, but Business Intelligence tools still use their own higher level languages based upon a multidimensional paradigm. Composable calculations are what is missing from SQL, and we propose a new kind of column, called a measure, that attaches a calculation to a table. Like regular tables, tables with measures are composable and closed when used in queries.
SQL-with-measures has the power, conciseness and reusability of multidimensional languages but retains SQL semantics. Measure invocations can be expanded in place to simple, clear SQL.
To define the evaluation semantics for measures, we introduce context-sensitive expressions (a way to evaluate multidimensional expressions that is consistent with existing SQL semantics), a concept called evaluation context, and several operations for setting and modifying the evaluation context.
A talk at SIGMOD, June 9–15, 2024, Santiago, Chile
Authors: Julian Hyde (Google) and John Fremlin (Google)
https://doi.org/10.1145/3626246.3653374
1. A Fast Algorithm
to Locate
Concepts in
Execution Traces
Soumaya Medini,
Philippe Galinier,
Massimiliano Di
Penta,
Yann-Ga¨el
Gu´eh´eneuc,
Giuliano Antoniol
Introduction
Motivation and
Problem
Statement
Background
Our approach
Empirical study
Conclusion
Future works
References
A Fast Algorithm to Locate
Concepts in Execution Traces
Soumaya Medini, Philippe Galinier, Massimiliano Di
Penta,
Yann-Ga¨el Gu´eh´eneuc, Giuliano Antoniol
SOCCER Lab. & Ptidej Team, ’Ecole Polytechnique de Montr´eal,
Qu´ebec, Canada
University of Sannio, Italy
September 1, 2011
2. A Fast Algorithm
to Locate
Concepts in
Execution Traces
Soumaya Medini,
Philippe Galinier,
Massimiliano Di
Penta,
Yann-Ga¨el
Gu´eh´eneuc,
Giuliano Antoniol
Introduction
Motivation and
Problem
Statement
Background
Our approach
Empirical study
Conclusion
Future works
References
Outline
Introduction
Motivation and Problem Statement
Background
Our approach
Empirical study
Conclusion
Future works
References
2 / 19
3. A Fast Algorithm
to Locate
Concepts in
Execution Traces
Soumaya Medini,
Philippe Galinier,
Massimiliano Di
Penta,
Yann-Ga¨el
Gu´eh´eneuc,
Giuliano Antoniol
Introduction
Motivation and
Problem
Statement
Background
Our approach
Empirical study
Conclusion
Future works
References
Introduction
Concept location is an important task during program
comprehension.
A typical scenario in which concept location takes part
a failure has been observed in a software system under
certain execution conditions
such conditions are hard to reproduce
the execution trace was saved during such failure.
Result: An execution trace containing a failure is saved but
we can not re-execute the same scenario.
3 / 19
4. A Fast Algorithm
to Locate
Concepts in
Execution Traces
Soumaya Medini,
Philippe Galinier,
Massimiliano Di
Penta,
Yann-Ga¨el
Gu´eh´eneuc,
Giuliano Antoniol
Introduction
Motivation and
Problem
Statement
Background
Our approach
Empirical study
Conclusion
Future works
References
Motivation and Problem Statement
Concept location process is recently defined as trace
segmentation problem.
The textual content of methods in trace is used to split
it into segments that participate in the implementation
of concepts.
Few works attempt to automatically identify concepts in a
single execution trace.
4 / 19
5. A Fast Algorithm
to Locate
Concepts in
Execution Traces
Soumaya Medini,
Philippe Galinier,
Massimiliano Di
Penta,
Yann-Ga¨el
Gu´eh´eneuc,
Giuliano Antoniol
Introduction
Motivation and
Problem
Statement
Background
Our approach
Empirical study
Conclusion
Future works
References
Motivation and Problem Statement
Asadi et al. [Asadi et al., 2010] presented the contribution
to identify concepts in execution trace by finding cohesive
and decoupled fragments of the trace.
Limitations
Not scalable (thousands of methods).
Based on methaheuristic search: each run may produce
a different concept assignment.
Does not assign a label to the identified segments.
Purpose: To propose a novel approach to overcome these
limitations.
5 / 19
6. A Fast Algorithm
to Locate
Concepts in
Execution Traces
Soumaya Medini,
Philippe Galinier,
Massimiliano Di
Penta,
Yann-Ga¨el
Gu´eh´eneuc,
Giuliano Antoniol
Introduction
Motivation and
Problem
Statement
Background
Our approach
Empirical study
Conclusion
Future works
References
Background
Steps
Step 1 : System instrumentation and trace collection.
Step 2 : Pruning and compressing traces.
Step 3 : Textual analysis of Method source code.
Step 4 : Search-based concept location.
6 / 19
7. A Fast Algorithm
to Locate
Concepts in
Execution Traces
Soumaya Medini,
Philippe Galinier,
Massimiliano Di
Penta,
Yann-Ga¨el
Gu´eh´eneuc,
Giuliano Antoniol
Introduction
Motivation and
Problem
Statement
Background
Our approach
Empirical study
Conclusion
Future works
References
Background
Step 1 : System instrumentation and trace collection
System instrumented using MODEC : tool to extract
and model sequence diagrams.
Trace Collection : Label manually a parts of the code
during execution of the instrumented system.
Trace
Trace represented as an ordered list of invoked methods with
labels.
7 / 19
8. A Fast Algorithm
to Locate
Concepts in
Execution Traces
Soumaya Medini,
Philippe Galinier,
Massimiliano Di
Penta,
Yann-Ga¨el
Gu´eh´eneuc,
Giuliano Antoniol
Introduction
Motivation and
Problem
Statement
Background
Our approach
Empirical study
Conclusion
Future works
References
Background
Step 2 : Pruning and compressing traces
Pruning: Remove too frequent methods having
invocation greater than Q3 + 2 x IQR, with Q3 is 75%.
Compression: Remove repetitions of method invocations
using Run Length Encoding (RLE) algorithm.
8 / 19
9. A Fast Algorithm
to Locate
Concepts in
Execution Traces
Soumaya Medini,
Philippe Galinier,
Massimiliano Di
Penta,
Yann-Ga¨el
Gu´eh´eneuc,
Giuliano Antoniol
Introduction
Motivation and
Problem
Statement
Background
Our approach
Empirical study
Conclusion
Future works
References
Background
Step 3 : Textual analysis of Method source code
Textual analysis of source code:
Extract terms from source code : identifiers and
comments.
Split terms by Camel-Case.
Remove programming language keywords and english
stop words.
Perform stemming.
Index using the tf-idf indexing mechanisms.
Apply Latent Semantic Indexing (LSI) to reduce the
term-document matrix.
9 / 19
10. A Fast Algorithm
to Locate
Concepts in
Execution Traces
Soumaya Medini,
Philippe Galinier,
Massimiliano Di
Penta,
Yann-Ga¨el
Gu´eh´eneuc,
Giuliano Antoniol
Introduction
Motivation and
Problem
Statement
Background
Our approach
Empirical study
Conclusion
Future works
References
Background
Step 4 : Search-based concept location
Approach built upon dynamic programming algorithm to:
Compute the exact split of the execution trace into
segments.
Improve scalability.
10 / 19
11. A Fast Algorithm
to Locate
Concepts in
Execution Traces
Soumaya Medini,
Philippe Galinier,
Massimiliano Di
Penta,
Yann-Ga¨el
Gu´eh´eneuc,
Giuliano Antoniol
Introduction
Motivation and
Problem
Statement
Background
Our approach
Empirical study
Conclusion
Future works
References
Our approach
Dynamic programming : based on overlapping sub-problems
by dividing a problem into sub-problems recursively solved.
The solution of the problem is obtained by combining the
solutions of the sub-problems.
We compute the quality of the segmentation of a trace split
into K segments using the fitness function.
COHl =
end(l)−1
i=begin(l)
end(l)
j=i+1 σ(mi ,mj )
(end(l)−begin(l)+1)·(end(l)−begin(l))/2
(1)
COUl =
end(l)
i=begin(l)
l
j=1,j<begin(l) or j>end(l)σ(mi ,mj )
(N−(end(l)−begin(l)+1))·(end(l)−begin(l)+1)
(2)
fitness =
1
K
·
K
i=1
COHi
COUi + 1
(3)
11 / 19
12. A Fast Algorithm
to Locate
Concepts in
Execution Traces
Soumaya Medini,
Philippe Galinier,
Massimiliano Di
Penta,
Yann-Ga¨el
Gu´eh´eneuc,
Giuliano Antoniol
Introduction
Motivation and
Problem
Statement
Background
Our approach
Empirical study
Conclusion
Future works
References
Our approach
Figure: Trace splitting
Possibilies
new segment is added or
the method is attached to the last solution segment.
Coh(i)= coh(i-1)+ delta
Cou(i)= cou(i-1)- delta
delta = sim(m1,m3)+sim(m1,m4)
12 / 19
13. A Fast Algorithm
to Locate
Concepts in
Execution Traces
Soumaya Medini,
Philippe Galinier,
Massimiliano Di
Penta,
Yann-Ga¨el
Gu´eh´eneuc,
Giuliano Antoniol
Introduction
Motivation and
Problem
Statement
Background
Our approach
Empirical study
Conclusion
Future works
References
Empirical study
RQ1 : How do the performances of the GA and DP
approaches compare in terms of fitness values,
convergence times, and numbers of segments?
RQ2 : How do the GA and DP approaches perform in
terms of overlaps be- tween the automatic segmentation
and the manually-built oracle, i.e., recall?
RQ3 : How do the precision values of the GA and DP
approaches compare when splitting execution traces?
13 / 19
14. A Fast Algorithm
to Locate
Concepts in
Execution Traces
Soumaya Medini,
Philippe Galinier,
Massimiliano Di
Penta,
Yann-Ga¨el
Gu´eh´eneuc,
Giuliano Antoniol
Introduction
Motivation and
Problem
Statement
Background
Our approach
Empirical study
Conclusion
Future works
References
Empirical study
Table: Data of the empirical study.
Systems Scenarios
OriginalSize
CleanedSizes
CompressedSizes
ArgoUML v0.18.1
(1)Start, Create note, Stop 34,746 821 588
(2) Start, Create class,
Create note, Stop
64,947 1,066 764
JHotDraw v1.5
(1) Start, Draw rectangle,
Stop
6,668 447 240
(2) Start, Add text, Draw
rectangle, Stop
13,841 753 361
(3) Start, Draw rectangle,
Cut rectangle, Stop
11,215 1,206 414
(4) Start, Spawn window,
Draw circle, Stop
16,366 670 433
14 / 19
15. A Fast Algorithm
to Locate
Concepts in
Execution Traces
Soumaya Medini,
Philippe Galinier,
Massimiliano Di
Penta,
Yann-Ga¨el
Gu´eh´eneuc,
Giuliano Antoniol
Introduction
Motivation and
Problem
Statement
Background
Our approach
Empirical study
Conclusion
Future works
References
Empirical study
RQ1 Results
Compare the GA approach proposed by Asadi et al.
[Asadi et al., 2010] with our approach.
Table: Number of segments, values of fitness
function/segmentation score, and times required by the GA and
DP approaches.
System Scenario
# of Segments Fitness Time (s)
GA DP GA DP GA DP
ArgoUML
(1) 24 13 0.54 0.58 7,080 2.13
(2) 73 19 0.52 0.60 10,800 4.33
JHotDraw
(1) 17 21 0.39 0.67 2,040 0.13
(2) 21 21 0.38 0.69 1,260 0.64
(3) 56 20 0.46 0.72 1,200 0.86
(4) 63 26 0.34 0.69 240 1.00
The DP approach performs significantly better than the GA
approach.
15 / 19
16. A Fast Algorithm
to Locate
Concepts in
Execution Traces
Soumaya Medini,
Philippe Galinier,
Massimiliano Di
Penta,
Yann-Ga¨el
Gu´eh´eneuc,
Giuliano Antoniol
Introduction
Motivation and
Problem
Statement
Background
Our approach
Empirical study
Conclusion
Future works
References
Empirical study
RQ1 and RQ2 Results
Table: Jaccard overlaps and precision values between segments
identified by the GA and DP approaches.
System Scenario Feature
Jaccard Precision
GA DP GA DP
ArgoUML
(1) Create Note 0.33 0.87 1.00 0.99
(2) Create Class 0.26 0.53 1.00 1.00
(2) Create Note 0.34 0.56 1.00 1.00
JHotDraw
(1) Draw Rectangle 0.90 0.75 0.90 1.00
(2) Add Text 0.31 0.33 0.36 0.39
(2) Draw Rectangle 0.62 0.52 0.62 1.00
(3) Draw Rectangle 0.74 0.24 0.79 0.24
(3) Cut Rectangle 0.22 0.31 1.00 1.00
(4) Draw Circle 0.82 0.82 0.82 1.00
(4) Spawn window 0.42 0.44 1.00 1.00
16 / 19
17. A Fast Algorithm
to Locate
Concepts in
Execution Traces
Soumaya Medini,
Philippe Galinier,
Massimiliano Di
Penta,
Yann-Ga¨el
Gu´eh´eneuc,
Giuliano Antoniol
Introduction
Motivation and
Problem
Statement
Background
Our approach
Empirical study
Conclusion
Future works
References
Conclusion
We reformulate the trace segmentation problem as a
dynamic programming (DP) problem
we showed that we can benefit from the overlapping
sub-problems
we obtained a dramatic gain in performance reusing
computed scores of intervals and segmentation scores
The DP approach reuses pre-computed cohesion and
coupling values among subsequent segments of an
execution trace, which is not possible using GA.
Results showed that the DP approach significantly
out-performed the GA approach in terms of:
the times required to produce the segmentations.
the scalability.
17 / 19
18. A Fast Algorithm
to Locate
Concepts in
Execution Traces
Soumaya Medini,
Philippe Galinier,
Massimiliano Di
Penta,
Yann-Ga¨el
Gu´eh´eneuc,
Giuliano Antoniol
Introduction
Motivation and
Problem
Statement
Background
Our approach
Empirical study
Conclusion
Future works
References
Future works
Validate the scalability of the DP trace segmentation
approach using more larger traces.
Use more traces obtained from different systems, to
verify the generality of our findings.
Complement the approach with segment labeling to
make the produced segments more suitable for
program-comprehension activities.
18 / 19
19. A Fast Algorithm
to Locate
Concepts in
Execution Traces
Soumaya Medini,
Philippe Galinier,
Massimiliano Di
Penta,
Yann-Ga¨el
Gu´eh´eneuc,
Giuliano Antoniol
Introduction
Motivation and
Problem
Statement
Background
Our approach
Empirical study
Conclusion
Future works
References
THANKS !
19 / 19
20. A Fast Algorithm
to Locate
Concepts in
Execution Traces
Soumaya Medini,
Philippe Galinier,
Massimiliano Di
Penta,
Yann-Ga¨el
Gu´eh´eneuc,
Giuliano Antoniol
Introduction
Motivation and
Problem
Statement
Background
Our approach
Empirical study
Conclusion
Future works
References
Asadi, F., Penta, M. D., Antoniol, G., and Gu´eh´eneuc,
Y.-G. (2010).
A heuristic-based approach to identify concepts in
execution traces.
In Proceedings of the European Conference on Software
Maintenance and Reengineering, pages 31–40. IEEE
Computer Society Press.
Gethers, M. and Poshyvanyk, D. (2010).
Using relational topic models to capture coupling among
classes in object-oriented software systems.
In Proceedings of the 2010 IEEE International
Conference on Software Maintenance, pages 1–10. IEEE
Computer Society.
Liu, Y., Poshyvanyk, D., Ferenc, R., Gyim˜A¸sthy, T., and
Chrisochoides, N. (2009).
Modeling class cohesion as mixtures of latent topics.
In International Conference on Software Maintenance,
pages 233–242.
19 / 19
21. A Fast Algorithm
to Locate
Concepts in
Execution Traces
Soumaya Medini,
Philippe Galinier,
Massimiliano Di
Penta,
Yann-Ga¨el
Gu´eh´eneuc,
Giuliano Antoniol
Introduction
Motivation and
Problem
Statement
Background
Our approach
Empirical study
Conclusion
Future works
References
Lukins, S. K., Kraft, N. A., and Etzkorn, L. H. (2010).
Bug localization using latent dirichlet allocation.
Information and Software Technology, 52(9):972 – 990.
19 / 19