An Experience Report on Applying Passive Learning in a Large-Scale Payment Co...Rick Wieman
Slides from my paper presentation at ICSME 2017 (Industry Track).
Abstract: Passive learning techniques infer graph models on the behavior of a system from large trace logs. The research community has been dedicating great effort in making passive learning techniques more scalable and ready to use by industry. However, there is still a lack of empirical knowledge on the usefulness and applicability of such techniques in large scale real systems. To that aim, we conducted action research over nine months in a large payment company. Throughout this period, we iteratively applied passive learning techniques with the goal of revealing useful information to the development team. In each iteration, we discussed the findings and challenges to the expert developer of the company, and we improved our tools accordingly. In this paper, we present evidence that passive learning can indeed support development teams, a set of lessons we learned during our experience, a proposed guide to facilitate its adoption, and current research challenges.
Queue Management System to optimize registration process, increase Queue pass-through, monitor Queue allocation, and track performance level
For more info: https://www.globibo.com/
#globiqueue #globibo #learning #queue
Software Testing with Caipirinhas and StroopwafelsMaurício Aniche
In this presentation, I talk about different ways of testing your software that go beyond testing. Log analytics and DevOps, static analysis tools, automated test generation, mistakes in web API integration, and challenges in software testing education.
I gave this talk to several Brazilian companies in December/2017.
This senior design project aimed to streamline METRO's processes for collecting and submitting service data to the National Transit Database. The team documented METRO's current multi-step process, which involved manually transferring data from multiple sources. They developed VBA macros to automate data extraction from Trapeze software reports and standardized contractor reporting. This reduced processing time by 67-69% and eliminated manual errors. The new standardized processes are now used for monthly data collection and support more efficient National Transit Database reporting.
5-minute Practical Streaming Techniques that can Save You MillionsHostedbyConfluent
"Companies are looking for ways to reduce streaming infrastructure costs in the current macroeconomic environment. However, this is a difficult task for two reasons. First, cutting costs without sacrificing latency or correctness requires deep knowledge of engine implementation details and a keen eye to identify opportunities. Second, optimization techniques are less accessible when working with high-level language abstraction, such as SQL. These techniques often involve engine query planning, requiring even deeper expertise. Many Data Engineers and Data Scientists prefer not to deal with Intermediate Representations (IR) and optimization rules. They also may not care too deeply about the details of applying streaming watermarks to reduce the runtime complexity for Point-In-Time-Correct join queries.
In this talk, I will share some simple optimization techniques you can apply with streaming SQL in just a few minutes that can cut costs by 10x or even 100x. Then, we’ll gradually dive deeper into some novel optimization techniques that can be applied across your distributed storage and compute stacks.
By the end of this talk, if you are a Data Engineer or a Data Scientist who is looking to build real-time streaming workloads but have concerns about cost, I hope you’ll be able to walk away with some tricks so you can check that box on your product ROI OKR :) If you are a platform engineer, I hope you will learn how to apply optimization abstractions across various compute and storage engines in your platform."
The document describes the ConXedge system, which remotely monitors concrete curing using sensors that transmit temperature data to a cloud-based platform. The platform allows users to view data in real-time, set alerts and receive notifications. It offers benefits like optimized construction schedules, cost savings, and the ability to manage curing from any location.
E secure transaction project ppt(Design and implementation of e-secure trans...AJIT Singh
e-secure transaction project ppt
This is the ppt for thee secure transaction system project for the college student. i did this project on my college days.
Here I mentioned some important points for the ppt so you can copy them and make you customize ppt on any topic or project.
Design and implementation of e-secure transaction system is my project title and in this, we have different functionalities like transfer funds and recharges,bill pay etc ,
we also use some encryption algorithms for secure the data.
This document provides an overview of SafexPay's white label payment gateway proposal. It discusses SafexPay's team experience, technology platform, certifications, and the services it offers including a payment gateway, wallet platform, payout platform, and business app. It also covers transaction flows, integration types, security features, settlement processes, payment methods, modules, risk management, and advanced features. The document highlights advantages for white label partners, merchants, and WL partners in working with SafexPay and why SafexPay is a good choice due to its scalable and configurable platform, multi-channel capabilities, and focus on innovation.
An Experience Report on Applying Passive Learning in a Large-Scale Payment Co...Rick Wieman
Slides from my paper presentation at ICSME 2017 (Industry Track).
Abstract: Passive learning techniques infer graph models on the behavior of a system from large trace logs. The research community has been dedicating great effort in making passive learning techniques more scalable and ready to use by industry. However, there is still a lack of empirical knowledge on the usefulness and applicability of such techniques in large scale real systems. To that aim, we conducted action research over nine months in a large payment company. Throughout this period, we iteratively applied passive learning techniques with the goal of revealing useful information to the development team. In each iteration, we discussed the findings and challenges to the expert developer of the company, and we improved our tools accordingly. In this paper, we present evidence that passive learning can indeed support development teams, a set of lessons we learned during our experience, a proposed guide to facilitate its adoption, and current research challenges.
Queue Management System to optimize registration process, increase Queue pass-through, monitor Queue allocation, and track performance level
For more info: https://www.globibo.com/
#globiqueue #globibo #learning #queue
Software Testing with Caipirinhas and StroopwafelsMaurício Aniche
In this presentation, I talk about different ways of testing your software that go beyond testing. Log analytics and DevOps, static analysis tools, automated test generation, mistakes in web API integration, and challenges in software testing education.
I gave this talk to several Brazilian companies in December/2017.
This senior design project aimed to streamline METRO's processes for collecting and submitting service data to the National Transit Database. The team documented METRO's current multi-step process, which involved manually transferring data from multiple sources. They developed VBA macros to automate data extraction from Trapeze software reports and standardized contractor reporting. This reduced processing time by 67-69% and eliminated manual errors. The new standardized processes are now used for monthly data collection and support more efficient National Transit Database reporting.
5-minute Practical Streaming Techniques that can Save You MillionsHostedbyConfluent
"Companies are looking for ways to reduce streaming infrastructure costs in the current macroeconomic environment. However, this is a difficult task for two reasons. First, cutting costs without sacrificing latency or correctness requires deep knowledge of engine implementation details and a keen eye to identify opportunities. Second, optimization techniques are less accessible when working with high-level language abstraction, such as SQL. These techniques often involve engine query planning, requiring even deeper expertise. Many Data Engineers and Data Scientists prefer not to deal with Intermediate Representations (IR) and optimization rules. They also may not care too deeply about the details of applying streaming watermarks to reduce the runtime complexity for Point-In-Time-Correct join queries.
In this talk, I will share some simple optimization techniques you can apply with streaming SQL in just a few minutes that can cut costs by 10x or even 100x. Then, we’ll gradually dive deeper into some novel optimization techniques that can be applied across your distributed storage and compute stacks.
By the end of this talk, if you are a Data Engineer or a Data Scientist who is looking to build real-time streaming workloads but have concerns about cost, I hope you’ll be able to walk away with some tricks so you can check that box on your product ROI OKR :) If you are a platform engineer, I hope you will learn how to apply optimization abstractions across various compute and storage engines in your platform."
The document describes the ConXedge system, which remotely monitors concrete curing using sensors that transmit temperature data to a cloud-based platform. The platform allows users to view data in real-time, set alerts and receive notifications. It offers benefits like optimized construction schedules, cost savings, and the ability to manage curing from any location.
E secure transaction project ppt(Design and implementation of e-secure trans...AJIT Singh
e-secure transaction project ppt
This is the ppt for thee secure transaction system project for the college student. i did this project on my college days.
Here I mentioned some important points for the ppt so you can copy them and make you customize ppt on any topic or project.
Design and implementation of e-secure transaction system is my project title and in this, we have different functionalities like transfer funds and recharges,bill pay etc ,
we also use some encryption algorithms for secure the data.
This document provides an overview of SafexPay's white label payment gateway proposal. It discusses SafexPay's team experience, technology platform, certifications, and the services it offers including a payment gateway, wallet platform, payout platform, and business app. It also covers transaction flows, integration types, security features, settlement processes, payment methods, modules, risk management, and advanced features. The document highlights advantages for white label partners, merchants, and WL partners in working with SafexPay and why SafexPay is a good choice due to its scalable and configurable platform, multi-channel capabilities, and focus on innovation.
This document proposes a global e-payment system that provides accessible e-payment services to users through public kiosks. The system uses virtual accounts, smart cards, and central units connected to a central server. Users can access services like bill payments from any central unit by authenticating with their smart card and password. Communications between units and the server are encrypted for security using AES and user IDs are hashed using SHA-1. The system aims to enable e-payment access for users in developing areas who lack resources for existing online payment options.
OSMC 2018 | Stream connector: Easily sending events and/or metrics from the C...NETWAYS
Since Centreon 2.8.18, Centreon broker provides a new connector called “Stream connector”. With it, users have the possibility to create an output to any tool of their choice. The topic of this talk is to present this connector and its use through several examples.
TADSummit Innovation Showcase chaired by Michael Lazar, DataArt. A new billing solution for tomorrow's applications. Based on Ethereum we will show an efficient billing system that can accurately track subscribers' use of services and instantaneously charge usage. The solution is designed to streamline complex billing relationships and enable Enterprise class applications to leverage Telecom environments.
Patent Blockchain People Bank of China (PBOC)Rein Mahatma
The document discusses over 80 patent applications filed by the People's Bank of China related to the country's planned digital currency (DC/EP). The patents cover many aspects of the digital currency system, including its issuance, circulation, management, investment/financing functions, transactions, and relationship to blockchain technology. The DC/EP system is proposed as a two-tiered structure where the central bank issues currency to commercial banks, and commercial banks issue it to individuals and businesses. The patents provide technical details on functions like digital wallets, payments, exchanges between digital and physical currencies, and rules for the currency's usage and flow in the economy.
ATM and NDC Overview for eduction on ATM technology.pptxKarthikeyanSaddyS
This document provides an overview of ATM and NDC technologies. It describes the main hardware components of an ATM, including the card reader, cash dispenser, and receipt printer. It also outlines the major transaction types that ATMs support, such as cash withdrawals, balance inquiries, and pin changes. Additionally, it explains how the ATM driver controls the cardholder interface and transaction processing. Finally, it introduces NDC, a message protocol used for communication between ATMs and the switch, and lists some of the main NDC message identifiers.
The EPOS system is a proposed solution to modernize a retail business's cash register system. It would use a computer terminal with a bar code scanner, receipt printer, and card reader to digitally process transactions. Inventory and customer data would be stored securely in the cloud using software as a service. This would allow bar code scanning instead of manual price entry, digital payments, and tracking of inventory levels online. The new system is expected to increase revenue and simplify inventory management.
Founded in 2006, VTC Intecom is a subsidiary of Vietnam Multimedia Corporation (VTC), one of the largest corporations in Vietnam. VTC Intecom provides digital content products and services which include diverse offerings of online payment methods, online games, integrated portal solutions for e-government and more. VTC Intecom has over 16 million active accounts for digital content services and its annual income is over USD100 million. Customers can use VTC Pay - Payment Gateway and eWallet to make online transactions quickly, easily and securely via their eWallet accounts, domestic ATM cards, international cards, telecommunications prepaid cards,Vcoin prepaid cards, or hundreds of partnering merchant websites that integrate with VTC Pay.
Founded in 2006, VTC Intecom is a subsidiary of Vietnam Multimedia Corporation (VTC), one of the largest corporations in Vietnam. VTC Intecom provides digital content products and services which include diverse offerings of online payment methods, online games, integrated portal solutions for e-government and more. VTC Intecom has over 16 million active accounts for digital content services and its annual income is over USD100 million. Customers can use VTC Pay - Payment Gateway and eWallet to make online transactions quickly, easily and securely via their eWallet accounts, domestic ATM cards, international cards, telecommunications prepaid cards,Vcoin prepaid cards, or hundreds of partnering merchant websites that integrate with VTC Pay.
Automated processing of client incoming payment v3Marius Diaconu
Digital & automated transformation of financial payment incoming processing. Providing an output of more than 80% fully automated processing with transaction identification, validation and processing.
PPS.pptx this ppt is for coding your problems and to do ppt for new students ...ragishettyanilkumar
This document summarizes a student project on a bank management system. It introduces the project and describes the proposed computerized system that would allow customers to perform financial transactions without a human bank teller. The proposed system would secure customer data and accounts with high accuracy to offer efficient service. It would allow users to create new accounts, deposit and withdraw money, change PINs, and view reports. The document outlines the hardware and software requirements and provides sample code to implement basic account functions like creating an account, displaying account details, and a menu to interact with the system. It concludes that the project successfully develops a management system to automate bank transactions.
Have your cake and eat it too, further dispelling the myths of the lambda arc...Dimos Raptis
This document discusses approaches for streaming data processing and reasoning about time in streams. It summarizes the limitations of the Lambda architecture and argues that streaming systems alone can provide low-latency and exactly-once processing if they support strong consistency, windowing, and watermark-based triggers. The document also presents Google Cloud Dataflow as a streaming data processing system that provides these capabilities through its aggregation, windowing, and triggers APIs to allow flexible reasoning about event and processing times.
Keeping track of your messaging infrastructure is essential to be able to rapidly respond to your changing business demands whilst complying with your constantly changing audit demands. This session will provide illustrations and insight on the techniques and capabilities available in IBM MQ to help you meet these monitoring and auditing demands.
5-LEC- 5.pptxTransport Layer. Transport Layer ProtocolsZahouAmel1
Transport Layer.
Transport Layer Protocols
Transport Layer.
Transport Layer Protocols
Transport Layer.
Transport Layer Protocols
Transport Layer.
Transport Layer Protocols
Transport Layer.
Transport Layer Protocols
Transport Layer.
Transport Layer Protocols
Transport Layer.
Transport Layer Protocols
Transport Layer.
Transport Layer Protocols
Transport Layer.
Transport Layer Protocols
Transport Layer.
Transport Layer Protocols
Transport Layer.
Transport Layer Protocols
Transport Layer.
Transport Layer Protocols
Transport Layer.
Transport Layer Protocols
Transport Layer.
Transport Layer Protocols
Transport Layer.
Transport Layer Protocols
Transport Layer.
Transport Layer Protocols
Transport Layer.
Transport Layer Protocols
Transport Layer.
Transport Layer Protocols
Transport Layer.
Transport Layer Protocols
Transport Layer.
Transport Layer Protocols
Transport Layer.
Transport Layer Protocols
Transport Layer.
Transport Layer Protocols
Transport Layer.
Transport Layer Protocols
Transport Layer.
Transport Layer Protocols
Transport Layer.
Transport Layer Protocols
Transport Layer.
Transport Layer Protocols
Transport Layer.
Transport Layer Protocols
Transport Layer.
Transport Layer Protocols
Transport Layer.
Transport Layer Protocols
Transport Layer.
Transport Layer Protocols
Transport Layer.
Transport Layer Protocols
Transport Layer.
Transport Layer Protocols
Transport Layer.
Transport Layer Protocols
Transport Layer.
Transport Layer Protocols
Transport Layer.
Transport Layer Protocols
Transport Layer.
Transport Layer Protocols
Transport Layer.
Transport Layer Protocols
Transport Layer.
Transport Layer Protocols
Transport Layer.
Transport Layer Protocols
Transport Layer.
Transport Layer Protocols
Transport Layer.
Transport Layer Protocols
Transport Layer.
Transport Layer Protocols
Transport Layer.
Transport Layer Protocols
Transport Layer.
Transport Layer Protocols
Transport Layer.
Transport Layer Protocols
Transport Layer.
Transport Layer Protocols
Transport Layer.
Transport Layer Protocols
Transport Layer.
Transport Layer Protocols
Transport Layer.
Transport Layer Protocols
Transport Layer.
Transport Layer Protocols
Transport Layer.
Transport Layer Protocols
Transport Layer.
Transport Layer Protocols
Transport Layer.
Transport Layer Protocols
Transport Layer.
Transport Layer Protocols
Transport Layer.
Transport Layer Protocols
Transport Layer.
Transport Layer Protocols
Transport Layer.
Transport Layer Protocols
Transport Layer.
Transport Layer Protocols
Transport Layer.
Transport Layer Protocols
Transport Layer.
Transport Layer Protocols
Transport Layer.
Transport Layer Protocols
Transport Layer.
Transport Layer Protocols
Transport Layer.
Transport Layer Protocols
Transport Layer.
Transport Layer Protocols
Transport Layer.
Transport Layer Protocols
Transport Layer.
Transport Layer Protocols
Transport Layer.
Transport Layer Protocols
Transport Layer.
Transport Layer Protocols
Transpor
This document provides an overview of WSO2 Complex Event Processor (CEP). It discusses key CEP concepts like event streams, queries, and execution plans. It also demonstrates various query patterns for filtering, transforming, enriching, joining, and detecting patterns in event streams. The document outlines the architecture of CEP and shows how to define streams, tables, queries, and adaptors to integrate CEP with external systems. It provides examples of windowing, aggregations, functions, and extensions that can be used in Siddhi queries to process event streams.
Automating the Waterway Inspection Reporting Customer Success StorySafe Software
During this presentation we will together climb the mountain of automating the process to notify landowners about the lack of waterway maintenance. We will conquer the hurdles of freezing a local database, using ArcGIS Online, having a 3rd party for document generation, and getting everything in SharePoint for the printing department.
The waterboard of the Hollandse Delta is in charge of keeping millions of kilometers of the Dutch waterways clear and in good condition, to ensure water safety and water security. These waterways cross private property and landowners are responsible for maintaining the riverbed, water depth and tree clearance.
In yearly rounds, inspectors visit each waterway to determine if maintenance was performed and enforce the execution maintenance through a series of legal notices. The processing of the inspection results into enforceable legal notices was a time-consuming process, automating this process could have a big impact. Using FME (Server) we did make that impact, and reduced the process to a few clicks.
Mobile Data Terminal M710W PresentationHarvey Wang
Mobile Data Terminal with 3G WCDMA/EDGE/GPRS/GSM and GPS, 7" large color LCD with LED backlight, 5 external serial ports, powerful Samsung CPU S3C6410(ARM11 core) @624MHz
1) Cross-application integration in SAP systems allows exchange of data between different systems using ALE (Application Link Enabling) and IDOCs (Intermediate Documents).
2) IDOCs are used to carry data between systems and have control, data, and status records.
3) Setting up communication between systems involves defining logical systems, assigning clients, and maintaining RFC destinations.
This document describes a web-based monitoring system project for caching solutions submitted by Subhayu Chakravorty for his Bachelor of Technology internship. The project involves developing a GUI using PHP that allows users and administrators to monitor caching servers. Key features include graphs of server metrics generated by Cacti, troubleshooting tools, and an admin panel to manage users and payments. The system was tested using servers provided by Data Consultancy Corps.
Fraud Detection in Real-time @ Apache Big Data ConSeshika Fernando
Here is the slide deck I used for my talk at #apachebigdata con.
Download whitepaper: http://wso2.com/whitepapers/fraud-detection-and-prevention-a-data-analytics-approach/
Can ML help software developers? (TEQnation 2022)Maurício Aniche
We all have heard of the amazing things Machine Learning can do. It can drive cars, it can detect whether people are using safe equipments, it can play games. But... can it help software developers in, say, find bugs or refactor code?
In this talk, I'll go through the different research projects I was involved in the area. I'll show that machine learning models can, in fact, learn a lot about how we develop software, and recommend interesting things to developers. In particular, I'll talk about models that recommend refactoring (done together with ING), models that find bugs and models that recommend which methods to log (both done together with Adyen).
You don't need to be an expert in machine learning to follow this talk.
This document proposes a global e-payment system that provides accessible e-payment services to users through public kiosks. The system uses virtual accounts, smart cards, and central units connected to a central server. Users can access services like bill payments from any central unit by authenticating with their smart card and password. Communications between units and the server are encrypted for security using AES and user IDs are hashed using SHA-1. The system aims to enable e-payment access for users in developing areas who lack resources for existing online payment options.
OSMC 2018 | Stream connector: Easily sending events and/or metrics from the C...NETWAYS
Since Centreon 2.8.18, Centreon broker provides a new connector called “Stream connector”. With it, users have the possibility to create an output to any tool of their choice. The topic of this talk is to present this connector and its use through several examples.
TADSummit Innovation Showcase chaired by Michael Lazar, DataArt. A new billing solution for tomorrow's applications. Based on Ethereum we will show an efficient billing system that can accurately track subscribers' use of services and instantaneously charge usage. The solution is designed to streamline complex billing relationships and enable Enterprise class applications to leverage Telecom environments.
Patent Blockchain People Bank of China (PBOC)Rein Mahatma
The document discusses over 80 patent applications filed by the People's Bank of China related to the country's planned digital currency (DC/EP). The patents cover many aspects of the digital currency system, including its issuance, circulation, management, investment/financing functions, transactions, and relationship to blockchain technology. The DC/EP system is proposed as a two-tiered structure where the central bank issues currency to commercial banks, and commercial banks issue it to individuals and businesses. The patents provide technical details on functions like digital wallets, payments, exchanges between digital and physical currencies, and rules for the currency's usage and flow in the economy.
ATM and NDC Overview for eduction on ATM technology.pptxKarthikeyanSaddyS
This document provides an overview of ATM and NDC technologies. It describes the main hardware components of an ATM, including the card reader, cash dispenser, and receipt printer. It also outlines the major transaction types that ATMs support, such as cash withdrawals, balance inquiries, and pin changes. Additionally, it explains how the ATM driver controls the cardholder interface and transaction processing. Finally, it introduces NDC, a message protocol used for communication between ATMs and the switch, and lists some of the main NDC message identifiers.
The EPOS system is a proposed solution to modernize a retail business's cash register system. It would use a computer terminal with a bar code scanner, receipt printer, and card reader to digitally process transactions. Inventory and customer data would be stored securely in the cloud using software as a service. This would allow bar code scanning instead of manual price entry, digital payments, and tracking of inventory levels online. The new system is expected to increase revenue and simplify inventory management.
Founded in 2006, VTC Intecom is a subsidiary of Vietnam Multimedia Corporation (VTC), one of the largest corporations in Vietnam. VTC Intecom provides digital content products and services which include diverse offerings of online payment methods, online games, integrated portal solutions for e-government and more. VTC Intecom has over 16 million active accounts for digital content services and its annual income is over USD100 million. Customers can use VTC Pay - Payment Gateway and eWallet to make online transactions quickly, easily and securely via their eWallet accounts, domestic ATM cards, international cards, telecommunications prepaid cards,Vcoin prepaid cards, or hundreds of partnering merchant websites that integrate with VTC Pay.
Founded in 2006, VTC Intecom is a subsidiary of Vietnam Multimedia Corporation (VTC), one of the largest corporations in Vietnam. VTC Intecom provides digital content products and services which include diverse offerings of online payment methods, online games, integrated portal solutions for e-government and more. VTC Intecom has over 16 million active accounts for digital content services and its annual income is over USD100 million. Customers can use VTC Pay - Payment Gateway and eWallet to make online transactions quickly, easily and securely via their eWallet accounts, domestic ATM cards, international cards, telecommunications prepaid cards,Vcoin prepaid cards, or hundreds of partnering merchant websites that integrate with VTC Pay.
Automated processing of client incoming payment v3Marius Diaconu
Digital & automated transformation of financial payment incoming processing. Providing an output of more than 80% fully automated processing with transaction identification, validation and processing.
PPS.pptx this ppt is for coding your problems and to do ppt for new students ...ragishettyanilkumar
This document summarizes a student project on a bank management system. It introduces the project and describes the proposed computerized system that would allow customers to perform financial transactions without a human bank teller. The proposed system would secure customer data and accounts with high accuracy to offer efficient service. It would allow users to create new accounts, deposit and withdraw money, change PINs, and view reports. The document outlines the hardware and software requirements and provides sample code to implement basic account functions like creating an account, displaying account details, and a menu to interact with the system. It concludes that the project successfully develops a management system to automate bank transactions.
Have your cake and eat it too, further dispelling the myths of the lambda arc...Dimos Raptis
This document discusses approaches for streaming data processing and reasoning about time in streams. It summarizes the limitations of the Lambda architecture and argues that streaming systems alone can provide low-latency and exactly-once processing if they support strong consistency, windowing, and watermark-based triggers. The document also presents Google Cloud Dataflow as a streaming data processing system that provides these capabilities through its aggregation, windowing, and triggers APIs to allow flexible reasoning about event and processing times.
Keeping track of your messaging infrastructure is essential to be able to rapidly respond to your changing business demands whilst complying with your constantly changing audit demands. This session will provide illustrations and insight on the techniques and capabilities available in IBM MQ to help you meet these monitoring and auditing demands.
5-LEC- 5.pptxTransport Layer. Transport Layer ProtocolsZahouAmel1
Transport Layer.
Transport Layer Protocols
Transport Layer.
Transport Layer Protocols
Transport Layer.
Transport Layer Protocols
Transport Layer.
Transport Layer Protocols
Transport Layer.
Transport Layer Protocols
Transport Layer.
Transport Layer Protocols
Transport Layer.
Transport Layer Protocols
Transport Layer.
Transport Layer Protocols
Transport Layer.
Transport Layer Protocols
Transport Layer.
Transport Layer Protocols
Transport Layer.
Transport Layer Protocols
Transport Layer.
Transport Layer Protocols
Transport Layer.
Transport Layer Protocols
Transport Layer.
Transport Layer Protocols
Transport Layer.
Transport Layer Protocols
Transport Layer.
Transport Layer Protocols
Transport Layer.
Transport Layer Protocols
Transport Layer.
Transport Layer Protocols
Transport Layer.
Transport Layer Protocols
Transport Layer.
Transport Layer Protocols
Transport Layer.
Transport Layer Protocols
Transport Layer.
Transport Layer Protocols
Transport Layer.
Transport Layer Protocols
Transport Layer.
Transport Layer Protocols
Transport Layer.
Transport Layer Protocols
Transport Layer.
Transport Layer Protocols
Transport Layer.
Transport Layer Protocols
Transport Layer.
Transport Layer Protocols
Transport Layer.
Transport Layer Protocols
Transport Layer.
Transport Layer Protocols
Transport Layer.
Transport Layer Protocols
Transport Layer.
Transport Layer Protocols
Transport Layer.
Transport Layer Protocols
Transport Layer.
Transport Layer Protocols
Transport Layer.
Transport Layer Protocols
Transport Layer.
Transport Layer Protocols
Transport Layer.
Transport Layer Protocols
Transport Layer.
Transport Layer Protocols
Transport Layer.
Transport Layer Protocols
Transport Layer.
Transport Layer Protocols
Transport Layer.
Transport Layer Protocols
Transport Layer.
Transport Layer Protocols
Transport Layer.
Transport Layer Protocols
Transport Layer.
Transport Layer Protocols
Transport Layer.
Transport Layer Protocols
Transport Layer.
Transport Layer Protocols
Transport Layer.
Transport Layer Protocols
Transport Layer.
Transport Layer Protocols
Transport Layer.
Transport Layer Protocols
Transport Layer.
Transport Layer Protocols
Transport Layer.
Transport Layer Protocols
Transport Layer.
Transport Layer Protocols
Transport Layer.
Transport Layer Protocols
Transport Layer.
Transport Layer Protocols
Transport Layer.
Transport Layer Protocols
Transport Layer.
Transport Layer Protocols
Transport Layer.
Transport Layer Protocols
Transport Layer.
Transport Layer Protocols
Transport Layer.
Transport Layer Protocols
Transport Layer.
Transport Layer Protocols
Transport Layer.
Transport Layer Protocols
Transport Layer.
Transport Layer Protocols
Transport Layer.
Transport Layer Protocols
Transport Layer.
Transport Layer Protocols
Transport Layer.
Transport Layer Protocols
Transport Layer.
Transport Layer Protocols
Transport Layer.
Transport Layer Protocols
Transport Layer.
Transport Layer Protocols
Transpor
This document provides an overview of WSO2 Complex Event Processor (CEP). It discusses key CEP concepts like event streams, queries, and execution plans. It also demonstrates various query patterns for filtering, transforming, enriching, joining, and detecting patterns in event streams. The document outlines the architecture of CEP and shows how to define streams, tables, queries, and adaptors to integrate CEP with external systems. It provides examples of windowing, aggregations, functions, and extensions that can be used in Siddhi queries to process event streams.
Automating the Waterway Inspection Reporting Customer Success StorySafe Software
During this presentation we will together climb the mountain of automating the process to notify landowners about the lack of waterway maintenance. We will conquer the hurdles of freezing a local database, using ArcGIS Online, having a 3rd party for document generation, and getting everything in SharePoint for the printing department.
The waterboard of the Hollandse Delta is in charge of keeping millions of kilometers of the Dutch waterways clear and in good condition, to ensure water safety and water security. These waterways cross private property and landowners are responsible for maintaining the riverbed, water depth and tree clearance.
In yearly rounds, inspectors visit each waterway to determine if maintenance was performed and enforce the execution maintenance through a series of legal notices. The processing of the inspection results into enforceable legal notices was a time-consuming process, automating this process could have a big impact. Using FME (Server) we did make that impact, and reduced the process to a few clicks.
Mobile Data Terminal M710W PresentationHarvey Wang
Mobile Data Terminal with 3G WCDMA/EDGE/GPRS/GSM and GPS, 7" large color LCD with LED backlight, 5 external serial ports, powerful Samsung CPU S3C6410(ARM11 core) @624MHz
1) Cross-application integration in SAP systems allows exchange of data between different systems using ALE (Application Link Enabling) and IDOCs (Intermediate Documents).
2) IDOCs are used to carry data between systems and have control, data, and status records.
3) Setting up communication between systems involves defining logical systems, assigning clients, and maintaining RFC destinations.
This document describes a web-based monitoring system project for caching solutions submitted by Subhayu Chakravorty for his Bachelor of Technology internship. The project involves developing a GUI using PHP that allows users and administrators to monitor caching servers. Key features include graphs of server metrics generated by Cacti, troubleshooting tools, and an admin panel to manage users and payments. The system was tested using servers provided by Data Consultancy Corps.
Fraud Detection in Real-time @ Apache Big Data ConSeshika Fernando
Here is the slide deck I used for my talk at #apachebigdata con.
Download whitepaper: http://wso2.com/whitepapers/fraud-detection-and-prevention-a-data-analytics-approach/
Similar to Tracing Back Log Data to its Log Statement: From Research to Practice (20)
Can ML help software developers? (TEQnation 2022)Maurício Aniche
We all have heard of the amazing things Machine Learning can do. It can drive cars, it can detect whether people are using safe equipments, it can play games. But... can it help software developers in, say, find bugs or refactor code?
In this talk, I'll go through the different research projects I was involved in the area. I'll show that machine learning models can, in fact, learn a lot about how we develop software, and recommend interesting things to developers. In particular, I'll talk about models that recommend refactoring (done together with ING), models that find bugs and models that recommend which methods to log (both done together with Adyen).
You don't need to be an expert in machine learning to follow this talk.
Code smells in MVC applications (Dutch Spring meetup)Maurício Aniche
The document discusses code smells that are specific to Model-View-Controller (MVC) architecture. It identifies several smells including Promiscuous Controller, Brain Controller, Meddling Service, Brain Repository, and Fat Repository. The document then discusses strategies for detecting these smells and benchmarks results for detecting smells in controllers. It also discusses challenges in measuring code attributes and finding the right place for data access objects and database queries.
This document discusses code quality in MVC systems and strategies for improvement. It describes analyzing 60k-110k lines of Java code to measure metrics like coupling and benchmarking controllers. The document outlines a catalogue of specific smells in MVC architectures and validated research on improperly placed database queries and data access object methods. It proposes moving queries to the correct place and improving test code stability with patterns to reduce rewriting.
A Validated Set of Smells for MVC Architectures - ICSME 2016Maurício Aniche
This document presents research into identifying code smells that are specific to Model-View-Controller (MVC) architectures. Through interviews and surveys with 50 developers, the researchers identified 6 smells related to common problems in MVC controller, service, and repository classes. An empirical study found that classes affected by these smells tended to be more change- and defect-prone, and developers perceived classes with these smells as problematic. The researchers validated a catalogue of 6 MVC-specific code smells.
SATT: Tailoring Code Metric Thresholds for Different Software Architectures (...Maurício Aniche
1. The document presents a technique called SATT (Software Architecture-based Threshold Tailoring) that tailors code metric thresholds to different software architectures.
2. SATT works by ordering classes by their metric values, weighting them based on their size, aggregating the weights to extract thresholds at certain points, and defining thresholds specific to architectural roles whose metrics differ significantly from other classes.
3. The study applies SATT to projects using common architectures like MVC and finds that architectural roles do have significantly different metric value distributions compared to other classes, which can be explained by their specialized responsibilities. SATT improves over benchmark-based techniques by setting role-specific thresholds.
DNAD 2015 - Métricas de código, pra que te quero?Maurício Aniche
O documento discute métricas de código e como elas podem ser usadas para melhorar a qualidade do código e identificar problemas. Ele menciona métricas como tamanho de métodos e classes, complexidade ciclomática, coesão e acoplamento. Também discute visualizações de código e como métricas podem ser correlacionadas com bugs e manutenção do código.
Como eu aprendi que testar software é importante?Maurício Aniche
O documento discute a importância de testes de software, relatando a experiência do autor. Ele aprendeu sobre testes ao longo de sua carreira na faculdade e em várias empresas, onde testes automatizados ajudaram a evitar problemas. O autor também fornece dicas valiosas sobre estudos e carreira para desenvolvedores de software.
Proposta: Métricas e Heurísticas para Detecção de Problemas em Aplicações WebMaurício Aniche
Proposta de pesquisa apresentada no encontro do NAPSoL em São Carlos, 2014: Proposta: Métricas e Heurísticas para Detecção de Problemas em Aplicações Web
O documento discute as vantagens e desafios da prática de Test-Driven Development (TDD). A prática de TDD pode melhorar a qualidade do código e do projeto de classes, mas não garante esses resultados automaticamente. Os desenvolvedores precisam estar atentos aos feedbacks dos testes para refatorar o código continuamente e melhorar o projeto.
O que estamos temos feito com mineração de repositório de código no IME?Maurício Aniche
O documento discute mineração de repositórios de código. Apresenta o grupo de pesquisa e seus interesses em aspectos sociais de código aberto, dependências lógicas, dívida técnica e ferramentas usadas como script R, metricminer e medidas de qualidade de código. Também discute desafios da área como falta de organização de dados e dificuldade em demonstrar valor para a indústria.
MetricMiner is a web application that aims to support researchers in mining software repositories by automating common tasks like downloading source code, extracting metrics, and performing calculations. It was created to make the process easier and potentially leverage cloud computing. The developers validated the tool by replicating a previous study with MetricMiner accessing over 250 projects and 500,000 commits, compared to the original study of 1 project and 800 commits. Future work includes improving the interface, scalability, and collecting more data.
Does the Act of Refactoring Really Make Code Simpler? A Preliminary Study - W...Maurício Aniche
Este estudo investigou se a refatoração de código realmente simplifica o código, medindo a complexidade ciclomática antes e depois das refatorações. A análise de 500 mil commits de 256 projetos Java mostrou que a refatoração nem sempre reduz a complexidade ciclomática. Uma análise qualitativa indicou que as refatorações melhoram principalmente a legibilidade do código.
[TDC 2014] Métricas de código, pra que te quero?Maurício Aniche
O documento discute a importância de métricas de código e como elas podem ser usadas para melhorar a qualidade do software e do processo de desenvolvimento. Algumas métricas mencionadas incluem tamanho de métodos e classes, complexidade ciclomática, coesão, acoplamento e estabilidade. As métricas fornecem insights sobre onde focar os esforços de refatoração e melhoria contínua.
Code coverage for MSR Researches [Work in Progress]Maurício Aniche
The document discusses code coverage analysis and proposes a static analysis technique to estimate code coverage. It calculates method-level and class-level coverage using McCabe's complexity metric and test method counts. The technique is compared to the dynamic analysis tool Emma, finding differences of 25-30% on average. While fast, static analysis has disadvantages like being heuristic-based and having difficulty handling inheritance and polymorphism.
Securing your Kubernetes cluster_ a step-by-step guide to success !KatiaHIMEUR1
Today, after several years of existence, an extremely active community and an ultra-dynamic ecosystem, Kubernetes has established itself as the de facto standard in container orchestration. Thanks to a wide range of managed services, it has never been so easy to set up a ready-to-use Kubernetes cluster.
However, this ease of use means that the subject of security in Kubernetes is often left for later, or even neglected. This exposes companies to significant risks.
In this talk, I'll show you step-by-step how to secure your Kubernetes cluster for greater peace of mind and reliability.
Essentials of Automations: The Art of Triggers and Actions in FMESafe Software
In this second installment of our Essentials of Automations webinar series, we’ll explore the landscape of triggers and actions, guiding you through the nuances of authoring and adapting workspaces for seamless automations. Gain an understanding of the full spectrum of triggers and actions available in FME, empowering you to enhance your workspaces for efficient automation.
We’ll kick things off by showcasing the most commonly used event-based triggers, introducing you to various automation workflows like manual triggers, schedules, directory watchers, and more. Plus, see how these elements play out in real scenarios.
Whether you’re tweaking your current setup or building from the ground up, this session will arm you with the tools and insights needed to transform your FME usage into a powerhouse of productivity. Join us to discover effective strategies that simplify complex processes, enhancing your productivity and transforming your data management practices with FME. Let’s turn complexity into clarity and make your workspaces work wonders!
A tale of scale & speed: How the US Navy is enabling software delivery from l...sonjaschweigert1
Rapid and secure feature delivery is a goal across every application team and every branch of the DoD. The Navy’s DevSecOps platform, Party Barge, has achieved:
- Reduction in onboarding time from 5 weeks to 1 day
- Improved developer experience and productivity through actionable findings and reduction of false positives
- Maintenance of superior security standards and inherent policy enforcement with Authorization to Operate (ATO)
Development teams can ship efficiently and ensure applications are cyber ready for Navy Authorizing Officials (AOs). In this webinar, Sigma Defense and Anchore will give attendees a look behind the scenes and demo secure pipeline automation and security artifacts that speed up application ATO and time to production.
We will cover:
- How to remove silos in DevSecOps
- How to build efficient development pipeline roles and component templates
- How to deliver security artifacts that matter for ATO’s (SBOMs, vulnerability reports, and policy evidence)
- How to streamline operations with automated policy checks on container images
Sudheer Mechineni, Head of Application Frameworks, Standard Chartered Bank
Discover how Standard Chartered Bank harnessed the power of Neo4j to transform complex data access challenges into a dynamic, scalable graph database solution. This keynote will cover their journey from initial adoption to deploying a fully automated, enterprise-grade causal cluster, highlighting key strategies for modelling organisational changes and ensuring robust disaster recovery. Learn how these innovations have not only enhanced Standard Chartered Bank’s data infrastructure but also positioned them as pioneers in the banking sector’s adoption of graph technology.
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AIVladimir Iglovikov, Ph.D.
Presented by Vladimir Iglovikov:
- https://www.linkedin.com/in/iglovikov/
- https://x.com/viglovikov
- https://www.instagram.com/ternaus/
This presentation delves into the journey of Albumentations.ai, a highly successful open-source library for data augmentation.
Created out of a necessity for superior performance in Kaggle competitions, Albumentations has grown to become a widely used tool among data scientists and machine learning practitioners.
This case study covers various aspects, including:
People: The contributors and community that have supported Albumentations.
Metrics: The success indicators such as downloads, daily active users, GitHub stars, and financial contributions.
Challenges: The hurdles in monetizing open-source projects and measuring user engagement.
Development Practices: Best practices for creating, maintaining, and scaling open-source libraries, including code hygiene, CI/CD, and fast iteration.
Community Building: Strategies for making adoption easy, iterating quickly, and fostering a vibrant, engaged community.
Marketing: Both online and offline marketing tactics, focusing on real, impactful interactions and collaborations.
Mental Health: Maintaining balance and not feeling pressured by user demands.
Key insights include the importance of automation, making the adoption process seamless, and leveraging offline interactions for marketing. The presentation also emphasizes the need for continuous small improvements and building a friendly, inclusive community that contributes to the project's growth.
Vladimir Iglovikov brings his extensive experience as a Kaggle Grandmaster, ex-Staff ML Engineer at Lyft, sharing valuable lessons and practical advice for anyone looking to enhance the adoption of their open-source projects.
Explore more about Albumentations and join the community at:
GitHub: https://github.com/albumentations-team/albumentations
Website: https://albumentations.ai/
LinkedIn: https://www.linkedin.com/company/100504475
Twitter: https://x.com/albumentations
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfPaige Cruz
Monitoring and observability aren’t traditionally found in software curriculums and many of us cobble this knowledge together from whatever vendor or ecosystem we were first introduced to and whatever is a part of your current company’s observability stack.
While the dev and ops silo continues to crumble….many organizations still relegate monitoring & observability as the purview of ops, infra and SRE teams. This is a mistake - achieving a highly observable system requires collaboration up and down the stack.
I, a former op, would like to extend an invitation to all application developers to join the observability party will share these foundational concepts to build on:
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...Neo4j
Leonard Jayamohan, Partner & Generative AI Lead, Deloitte
This keynote will reveal how Deloitte leverages Neo4j’s graph power for groundbreaking digital twin solutions, achieving a staggering 100x performance boost. Discover the essential role knowledge graphs play in successful generative AI implementations. Plus, get an exclusive look at an innovative Neo4j + Generative AI solution Deloitte is developing in-house.
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc
How does your privacy program stack up against your peers? What challenges are privacy teams tackling and prioritizing in 2024?
In the fifth annual Global Privacy Benchmarks Survey, we asked over 1,800 global privacy professionals and business executives to share their perspectives on the current state of privacy inside and outside of their organizations. This year’s report focused on emerging areas of importance for privacy and compliance professionals, including considerations and implications of Artificial Intelligence (AI) technologies, building brand trust, and different approaches for achieving higher privacy competence scores.
See how organizational priorities and strategic approaches to data security and privacy are evolving around the globe.
This webinar will review:
- The top 10 privacy insights from the fifth annual Global Privacy Benchmarks Survey
- The top challenges for privacy leaders, practitioners, and organizations in 2024
- Key themes to consider in developing and maintaining your privacy program
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...James Anderson
Effective Application Security in Software Delivery lifecycle using Deployment Firewall and DBOM
The modern software delivery process (or the CI/CD process) includes many tools, distributed teams, open-source code, and cloud platforms. Constant focus on speed to release software to market, along with the traditional slow and manual security checks has caused gaps in continuous security as an important piece in the software supply chain. Today organizations feel more susceptible to external and internal cyber threats due to the vast attack surface in their applications supply chain and the lack of end-to-end governance and risk management.
The software team must secure its software delivery process to avoid vulnerability and security breaches. This needs to be achieved with existing tool chains and without extensive rework of the delivery processes. This talk will present strategies and techniques for providing visibility into the true risk of the existing vulnerabilities, preventing the introduction of security issues in the software, resolving vulnerabilities in production environments quickly, and capturing the deployment bill of materials (DBOM).
Speakers:
Bob Boule
Robert Boule is a technology enthusiast with PASSION for technology and making things work along with a knack for helping others understand how things work. He comes with around 20 years of solution engineering experience in application security, software continuous delivery, and SaaS platforms. He is known for his dynamic presentations in CI/CD and application security integrated in software delivery lifecycle.
Gopinath Rebala
Gopinath Rebala is the CTO of OpsMx, where he has overall responsibility for the machine learning and data processing architectures for Secure Software Delivery. Gopi also has a strong connection with our customers, leading design and architecture for strategic implementations. Gopi is a frequent speaker and well-known leader in continuous delivery and integrating security into software delivery.
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...SOFTTECHHUB
The choice of an operating system plays a pivotal role in shaping our computing experience. For decades, Microsoft's Windows has dominated the market, offering a familiar and widely adopted platform for personal and professional use. However, as technological advancements continue to push the boundaries of innovation, alternative operating systems have emerged, challenging the status quo and offering users a fresh perspective on computing.
One such alternative that has garnered significant attention and acclaim is Nitrux Linux 3.5.0, a sleek, powerful, and user-friendly Linux distribution that promises to redefine the way we interact with our devices. With its focus on performance, security, and customization, Nitrux Linux presents a compelling case for those seeking to break free from the constraints of proprietary software and embrace the freedom and flexibility of open-source computing.
Full-RAG: A modern architecture for hyper-personalizationZilliz
Mike Del Balso, CEO & Co-Founder at Tecton, presents "Full RAG," a novel approach to AI recommendation systems, aiming to push beyond the limitations of traditional models through a deep integration of contextual insights and real-time data, leveraging the Retrieval-Augmented Generation architecture. This talk will outline Full RAG's potential to significantly enhance personalization, address engineering challenges such as data management and model training, and introduce data enrichment with reranking as a key solution. Attendees will gain crucial insights into the importance of hyperpersonalization in AI, the capabilities of Full RAG for advanced personalization, and strategies for managing complex data integrations for deploying cutting-edge AI solutions.
Maruthi Prithivirajan, Head of ASEAN & IN Solution Architecture, Neo4j
Get an inside look at the latest Neo4j innovations that enable relationship-driven intelligence at scale. Learn more about the newest cloud integrations and product enhancements that make Neo4j an essential choice for developers building apps with interconnected data and generative AI.
“An Outlook of the Ongoing and Future Relationship between Blockchain Technologies and Process-aware Information Systems.” Invited talk at the joint workshop on Blockchain for Information Systems (BC4IS) and Blockchain for Trusted Data Sharing (B4TDS), co-located with with the 36th International Conference on Advanced Information Systems Engineering (CAiSE), 3 June 2024, Limassol, Cyprus.
UiPath Test Automation using UiPath Test Suite series, part 5DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 5. In this session, we will cover CI/CD with devops.
Topics covered:
CI/CD with in UiPath
End-to-end overview of CI/CD pipeline with Azure devops
Speaker:
Lyndsey Byblow, Test Suite Sales Engineer @ UiPath, Inc.
Climate Impact of Software Testing at Nordic Testing DaysKari Kakkonen
My slides at Nordic Testing Days 6.6.2024
Climate impact / sustainability of software testing discussed on the talk. ICT and testing must carry their part of global responsibility to help with the climat warming. We can minimize the carbon footprint but we can also have a carbon handprint, a positive impact on the climate. Quality characteristics can be added with sustainability, and then measured continuously. Test environments can be used less, and in smaller scale and on demand. Test techniques can be used in optimizing or minimizing number of tests. Test automation can be used to speed up testing.
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!SOFTTECHHUB
As the digital landscape continually evolves, operating systems play a critical role in shaping user experiences and productivity. The launch of Nitrux Linux 3.5.0 marks a significant milestone, offering a robust alternative to traditional systems such as Windows 11. This article delves into the essence of Nitrux Linux 3.5.0, exploring its unique features, advantages, and how it stands as a compelling choice for both casual users and tech enthusiasts.
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Tracing Back Log Data to its Log Statement: From Research to Practice
1. Tracing Back Log Data to
its Log Statement:
From Research to Practice
Daan Schipper (Adyen)
Maurício F. Aniche, Arie van Deursen (Delft University of Technology)
2. DEV OPS
20170101160001 Adyen version: ******
20170101160002 Starting TX/amt=10001/currency=978
20170101160003 Starting EMV
20170101160004 EMV started
20170101160005 Magswipe opened
20170101160006 CTLS started
20170101160007 Transaction initialised
20170101160008 Run TX as EMV transaction
20170101160009 Application selected app:******
20170101160010 read_application_data succeeded
20170101160011 data_authentication succeeded
20170101160012 validate 0
20170101160013 DCC rejected
20170101160014 terminal_risk_management succeeded
20170101160015 verify_card_holder succeeded
20170101160016 generate_first_ac succeeded
20170101160017 Authorizing online
20170101160018 Data returned by the host succeeded
20170101160019 Transaction authorized by card
20170101160020 Approved receipt printed
20170101160021 pos_result_code:APPROVED
20170101160022 Final status: Approved
20170101160001 Adyen version: ******
20170101160002 Starting TX/amt=10001/currency=978
20170101160003 Starting EMV
20170101160004 EMV started
20170101160005 Magswipe opened
20170101160006 CTLS started
20170101160007 Transaction initialised
20170101160008 Run TX as EMV transaction
20170101160009 Application selected app:******
20170101160010 read_application_data succeeded
20170101160011 data_authentication succeeded
20170101160012 validate 0
20170101160013 DCC rejected
20170101160014 terminal_risk_management succeeded
20170101160015 verify_card_holder succeeded
20170101160016 generate_first_ac succeeded
20170101160017 Authorizing online
20170101160018 Data returned by the host succeeded
20170101160019 Transaction authorized by card
20170101160020 Approved receipt printed
20170101160021 pos_result_code:APPROVED
20170101160022 Final status: Approved
20170101160001 Adyen version: ******
20170101160002 Starting TX/amt=10001/currency=978
20170101160003 Starting EMV
20170101160004 EMV started
20170101160005 Magswipe opened
20170101160006 CTLS started
20170101160007 Transaction initialised
20170101160008 Run TX as EMV transaction
20170101160009 Application selected app:******
20170101160010 read_application_data succeeded
20170101160011 data_authentication succeeded
20170101160012 validate 0
20170101160013 DCC rejected
20170101160014 terminal_risk_management succeeded
20170101160015 verify_card_holder succeeded
20170101160016 generate_first_ac succeeded
20170101160017 Authorizing online
20170101160018 Data returned by the host succeeded
20170101160019 Transaction authorized by card
20170101160020 Approved receipt printed
20170101160021 pos_result_code:APPROVED
20170101160022 Final status: Approved
20170101160001 Adyen version: ******
20170101160002 Starting TX/amt=10001/currency=978
20170101160003 Starting EMV
20170101160004 EMV started
20170101160005 Magswipe opened
20170101160006 CTLS started
20170101160007 Transaction initialised
20170101160008 Run TX as EMV transaction
20170101160009 Application selected app:******
20170101160010 read_application_data succeeded
20170101160011 data_authentication succeeded
20170101160012 validate 0
20170101160013 DCC rejected
20170101160014 terminal_risk_management succeeded
20170101160015 verify_card_holder succeeded
20170101160016 generate_first_ac succeeded
20170101160017 Authorizing online
20170101160018 Data returned by the host succeeded
20170101160019 Transaction authorized by card
20170101160020 Approved receipt printed
20170101160021 pos_result_code:APPROVED
20170101160022 Final status: Approved
20170101160001 Adyen version: ******
20170101160002 Starting TX/amt=10001/currency=978
20170101160003 Starting EMV
20170101160004 EMV started
20170101160005 Magswipe opened
20170101160006 CTLS started
20170101160007 Transaction initialised
20170101160008 Run TX as EMV transaction
20170101160009 Application selected app:******
20170101160010 read_application_data succeeded
20170101160011 data_authentication succeeded
20170101160012 validate 0
20170101160013 DCC rejected
20170101160014 terminal_risk_management succeeded
20170101160015 verify_card_holder succeeded
20170101160016 generate_first_ac succeeded
20170101160017 Authorizing online
20170101160018 Data returned by the host succeeded
20170101160019 Transaction authorized by card
20170101160020 Approved receipt printed
20170101160021 pos_result_code:APPROVED
20170101160022 Final status: Approved
3. log.info(”Customer “ + customer +
“ paying ” + paymentValue);
[2019-02-03 15:43:24] [MagicPayment.java][L456] Customer Maurício paying 235.67
Class name Line number
4.
5. In practice…
• Adyen can’t log the class and the line number that
originates a log message.
• Developers ‘grep’ the source code
• Can we automatically detect where origin of the log
lines?
• W. Xu, L. Huang, A. Fox, D. Patterson, and M. I. Jordan.
Detecting large-scale system problems by mining console
logs. In Proceedings of the ACM SIGOPS 22nd symposium
on Operating systems principles, pages 117–132. ACM,
2009.
9. RQ1: Accuracy
• We collect 100k messages from a week day.
• These 100k messages pointed to 676 different locations in the source
code.
• 95% CL, 5% CI sample = 245 links.
• Manually investigation = 97.6% accuracy (239 out of 245 correct links)
• 99.8% accuracy in the original paper (two projects: HDFS and Darkstar,
millions of log lines, # of log statements not specified).
10. RQ2: Performance
Creating the ASTs of the entire
codebase is the most expensive
part of the process.
Step Time (minutes) Percentage
Finding log statements 37:25 92.1%
Creating template 00:32 1.3%
Enriching template 02:27 5.9%
Creating index 00:16 0.7%
Total 40:42 100%
Related work: not really reported.
Overall process: 200 HDFS nodes (with aggressive logging)
over 48 hours => 3 minutes with 50 nodes, or less than 10
minutes with 10 nodes.
11. When does it fail?
• JSON-based logs
• The developer logs a JSON (that is created in runtime) and thus the log
statement is simply “log.info(json)”, making our template inaccurate.
• Unknown logging method
• Developers create their own logging methods, which our tool can’t recognize.
• Log strings created on-the-fly
• Some log messages are too complex and developers create them by means of
multiple line of code (e.g. String log = “content1”; log = log + “content 2”, …),
which makes the analysis harder.
• Related work: “Almost all of these (failed) messages contain long
string variables.” => same for us.
12. Summary
• Logging the class and line number that originates a log message can be
expensive.
• Heuristics to make this link are available.
• We evaluated Xu et al’s proposal in an industry dataset:
• High accuracy (~97%)
• Reasonable performance, where the high cost comes from AST generation.
• Complex log statements make the analysis hard.
Schipper, Aniche, van Deursen. Tracing Back Log Data to its Log Statement:
From Research to Practice.
Contact: Daan.Schipper@adyen.com, M.FinavaroAniche@tudelft.nl,
Arie.VanDeursen@tudelft.nl
Paper: http://bit.ly/msr19-tracing-log-statements