Automated Evolution of Feature Logging Statement Levels Using Git Histories a...Raffi Khatchadourian
Event logging is pervasive in modern applications, assisting developers, users, and administrators, alike in understanding and diagnosing issues involving sophisticated software. Unfortunately, the high transactionality of today's software can cause logging to be less effective due to information overload. Log levels help alleviate this problem by correlating a "severity" to system events that can be filtered. However, as software evolves, log levels may also require alteration as events once deemed important may have decreased in priority and vice-versa. We present our work-in-progress in devising an automated approach that assists developers in evolving logging levels. The approach, based on mining git histories and manipulating a degree of interest (DOI) model, transforms source code to "rejuvenate" log levels based on the "interestingness" of surrounding code. The approach was implemented as a plug-in to the Eclipse IDE, built upon JGit and Mylyn, and was evaluated on 18 Java projects having 2.89 million lines of code and ∼4K log statements. Our tool was able to successfully analyze 99.26% of logging statements, increase the distribution of log levels by 17.14%, and identify logs that were modified by developers with a recall of 79.31% and a level direction match success rate of 86.96%. Moreover, two of our pull (patch) requests were integrated into large and popular open-source projects. The results indicate that the approach is promising in assisting developers in evolving logging levels. We also discuss the relationship to software security, specifically, to side-channel attacks.
Building of systems of automatic C/C++ code loggingPVS-Studio
Sometimes logging of an application's events is the only debugging method. The logging method's disadvantage is the large size of the code which you have to write manually to save the whole necessary information. The article touches upon the method allowing you to build a system of automatic logging of C/C++ code.
This is a presentation that identifies the various components of the 11i technology stack and how to generate log files for them for troubleshooting and debugging.
Automated Evolution of Feature Logging Statement Levels Using Git Histories a...Raffi Khatchadourian
Event logging is pervasive in modern applications, assisting developers, users, and administrators, alike in understanding and diagnosing issues involving sophisticated software. Unfortunately, the high transactionality of today's software can cause logging to be less effective due to information overload. Log levels help alleviate this problem by correlating a "severity" to system events that can be filtered. However, as software evolves, log levels may also require alteration as events once deemed important may have decreased in priority and vice-versa. We present our work-in-progress in devising an automated approach that assists developers in evolving logging levels. The approach, based on mining git histories and manipulating a degree of interest (DOI) model, transforms source code to "rejuvenate" log levels based on the "interestingness" of surrounding code. The approach was implemented as a plug-in to the Eclipse IDE, built upon JGit and Mylyn, and was evaluated on 18 Java projects having 2.89 million lines of code and ∼4K log statements. Our tool was able to successfully analyze 99.26% of logging statements, increase the distribution of log levels by 17.14%, and identify logs that were modified by developers with a recall of 79.31% and a level direction match success rate of 86.96%. Moreover, two of our pull (patch) requests were integrated into large and popular open-source projects. The results indicate that the approach is promising in assisting developers in evolving logging levels. We also discuss the relationship to software security, specifically, to side-channel attacks.
Building of systems of automatic C/C++ code loggingPVS-Studio
Sometimes logging of an application's events is the only debugging method. The logging method's disadvantage is the large size of the code which you have to write manually to save the whole necessary information. The article touches upon the method allowing you to build a system of automatic logging of C/C++ code.
This is a presentation that identifies the various components of the 11i technology stack and how to generate log files for them for troubleshooting and debugging.
Logs as Data: Using Logs to track Web Application PerformanceTrevor Parsons
Top 10 customer use cases for log management, benefits of logs for performance monitoring, common issues across 25k users, investigating performance issues with logs.
A data logger (also data logger or data recorder) is an electronic device that records data
over time or in relation to location either with a built in instrument or sensor or via external
instruments and sensors. Increasingly, but not entirely, they are based on a digital processor (or
computer). They generally are small, battery powered, portable, and equipped with a
microprocessor, internal memory for data storage, and sensors. Some data loggers interface with
a personal computer and utilize software to activate the data logger and view and analyze the
collected data, while others have a local interface device (keypad, LCD) and can be used as a
stand-alone device.
Data loggers vary between general purpose types for a range of measurement applications
to very specific devices for measuring in one environment or application type only. It is common
for general purpose types to be programmable; however, many remain as static machines with
only a limited number or no changeable parameters. Electronic data loggers have replaced chart
recorders in many applications.
Join this video course on Udemy. Click the below link
https://www.udemy.com/embedded-system-programming-on-arm-cortex-m3m4/?couponCode=SLIDESHARE
This presentation course covers full architectural and internal details of one of the most famous processor ARM Cortex M3 and M4. Processor core, NVIC, Register set, Bus interfaces, AHB,APB,SYS BUS,Interrupts,memory fully explained.
This presentation is about -
Understanding product directory structure,
Various log files written by WAS,
HPEL,
Configuring WAS classloaders,
For more details visit -
http://vibranttechnologies.co.in/websphere-classes-in-mumbai.html
Accelerated Windows Debugging 3 training public slidesDmitry Vostokov
The slides from Software Diagnostics Services Accelerated Windows Debugging 3 training. The training description: "The full transcript of Software Diagnostics Services training with 14 step-by-step exercises, notes, and source code of specially created modeling applications. Learn live local and remote debugging techniques in kernel, user process and managed .NET spaces using WinDbg debugger. The unique and innovative course teaches unified debugging patterns applied to real problems from complex software environments. The second edition was fully reworked and updated to use the latest WinDbg version and Windows 10."
ISV Error Handling With Spring '21 UpdateCodeScience
With the Spring ‘21 release, BatchApexErrorEvent is a newly available error handling tool for managed packages that makes it easier for ISVs to diagnose and debug batch processing errors. In our latest tech webinar, CodeScience Technical Architect, Rob Davis, presents a deep dive into how to use this new tool in tandem with other error handling methods to make your managed packages more resilient.
Studying the Integration Practices and the Evolution of Ad Libraries in the G...SAIL_QU
In-app advertisements have become a major revenue for app developers in the mobile app economy. Ad libraries play an integral part in this ecosystem as app
developers integrate these libraries into their apps to display ads. However, little is known about how app developers integrate these libraries with their apps and how these libraries have evolved over time.
In this thesis, we study the ad library integration practices and the evolution of such libraries. To understand the integration practices of ad libraries, we manually study apps and derive a set of rules to automatically identify four strategies for integrating
multiple ad libraries. We observe that integrating multiple ad libraries commonly occurs in apps with a large number of downloads and ones in categories with a high percentage of apps that display ads. We also observe that app developers prefer to manage their own integrations instead of using off the shelf features of ad libraries for integrating multiple ad libraries.
To study the evolution of ad libraries, we conduct a longitudinal study of the 8 most popular ad libraries. In particular, we look at their evolution in terms of size, the main drivers for releasing a new ad library version, and their architecture. We observe that ad libraries are continuously evolving with a median release interval of 34 days. Some ad libraries have grown exponentially in size (e.g., Facebook Audience Network ad library), while other libraries have worked to reduce their size. To study the main drivers for releasing an ad library version, we manually study the release notes of the eight studied ad libraries. We observe that ad library developers continuously update their ad libraries to support a wider range of Android versions (i.e., to ensure that more devices can use the libraries without errors). Finally, we derive a reference architecture for ad libraries and study how the studied ad libraries diverged from this architecture during our study period.
Our findings can assist ad library developers to understand the challenges for developing ad libraries and the desired features of these libraries.
Logs as Data: Using Logs to track Web Application PerformanceTrevor Parsons
Top 10 customer use cases for log management, benefits of logs for performance monitoring, common issues across 25k users, investigating performance issues with logs.
A data logger (also data logger or data recorder) is an electronic device that records data
over time or in relation to location either with a built in instrument or sensor or via external
instruments and sensors. Increasingly, but not entirely, they are based on a digital processor (or
computer). They generally are small, battery powered, portable, and equipped with a
microprocessor, internal memory for data storage, and sensors. Some data loggers interface with
a personal computer and utilize software to activate the data logger and view and analyze the
collected data, while others have a local interface device (keypad, LCD) and can be used as a
stand-alone device.
Data loggers vary between general purpose types for a range of measurement applications
to very specific devices for measuring in one environment or application type only. It is common
for general purpose types to be programmable; however, many remain as static machines with
only a limited number or no changeable parameters. Electronic data loggers have replaced chart
recorders in many applications.
Join this video course on Udemy. Click the below link
https://www.udemy.com/embedded-system-programming-on-arm-cortex-m3m4/?couponCode=SLIDESHARE
This presentation course covers full architectural and internal details of one of the most famous processor ARM Cortex M3 and M4. Processor core, NVIC, Register set, Bus interfaces, AHB,APB,SYS BUS,Interrupts,memory fully explained.
This presentation is about -
Understanding product directory structure,
Various log files written by WAS,
HPEL,
Configuring WAS classloaders,
For more details visit -
http://vibranttechnologies.co.in/websphere-classes-in-mumbai.html
Accelerated Windows Debugging 3 training public slidesDmitry Vostokov
The slides from Software Diagnostics Services Accelerated Windows Debugging 3 training. The training description: "The full transcript of Software Diagnostics Services training with 14 step-by-step exercises, notes, and source code of specially created modeling applications. Learn live local and remote debugging techniques in kernel, user process and managed .NET spaces using WinDbg debugger. The unique and innovative course teaches unified debugging patterns applied to real problems from complex software environments. The second edition was fully reworked and updated to use the latest WinDbg version and Windows 10."
ISV Error Handling With Spring '21 UpdateCodeScience
With the Spring ‘21 release, BatchApexErrorEvent is a newly available error handling tool for managed packages that makes it easier for ISVs to diagnose and debug batch processing errors. In our latest tech webinar, CodeScience Technical Architect, Rob Davis, presents a deep dive into how to use this new tool in tandem with other error handling methods to make your managed packages more resilient.
Studying the Integration Practices and the Evolution of Ad Libraries in the G...SAIL_QU
In-app advertisements have become a major revenue for app developers in the mobile app economy. Ad libraries play an integral part in this ecosystem as app
developers integrate these libraries into their apps to display ads. However, little is known about how app developers integrate these libraries with their apps and how these libraries have evolved over time.
In this thesis, we study the ad library integration practices and the evolution of such libraries. To understand the integration practices of ad libraries, we manually study apps and derive a set of rules to automatically identify four strategies for integrating
multiple ad libraries. We observe that integrating multiple ad libraries commonly occurs in apps with a large number of downloads and ones in categories with a high percentage of apps that display ads. We also observe that app developers prefer to manage their own integrations instead of using off the shelf features of ad libraries for integrating multiple ad libraries.
To study the evolution of ad libraries, we conduct a longitudinal study of the 8 most popular ad libraries. In particular, we look at their evolution in terms of size, the main drivers for releasing a new ad library version, and their architecture. We observe that ad libraries are continuously evolving with a median release interval of 34 days. Some ad libraries have grown exponentially in size (e.g., Facebook Audience Network ad library), while other libraries have worked to reduce their size. To study the main drivers for releasing an ad library version, we manually study the release notes of the eight studied ad libraries. We observe that ad library developers continuously update their ad libraries to support a wider range of Android versions (i.e., to ensure that more devices can use the libraries without errors). Finally, we derive a reference architecture for ad libraries and study how the studied ad libraries diverged from this architecture during our study period.
Our findings can assist ad library developers to understand the challenges for developing ad libraries and the desired features of these libraries.
Improving the testing efficiency of selenium-based load testsSAIL_QU
Slides for a paper published at AST 2019:
Shahnaz M. Shariff, Heng Li, Cor-Paul Bezemer, Ahmed E. Hassan, Thanh H. D. Nguyen, and Parminder Flora. 2019. Improving the testing efficiency of selenium-based load tests. In Proceedings of the 14th International Workshop on Automation of Software Test (AST '19). IEEE Press, Piscataway, NJ, USA, 14-20. DOI: https://doi.org/10.1109/AST.2019.00008
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...Mind IT Systems
Healthcare providers often struggle with the complexities of chronic conditions and remote patient monitoring, as each patient requires personalized care and ongoing monitoring. Off-the-shelf solutions may not meet these diverse needs, leading to inefficiencies and gaps in care. It’s here, custom healthcare software offers a tailored solution, ensuring improved care and effectiveness.
Large Language Models and the End of ProgrammingMatt Welsh
Talk by Matt Welsh at Craft Conference 2024 on the impact that Large Language Models will have on the future of software development. In this talk, I discuss the ways in which LLMs will impact the software industry, from replacing human software developers with AI, to replacing conventional software with models that perform reasoning, computation, and problem-solving.
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!
AI Genie Review: World’s First Open AI WordPress Website CreatorGoogle
AI Genie Review: World’s First Open AI WordPress Website Creator
👉👉 Click Here To Get More Info 👇👇
https://sumonreview.com/ai-genie-review
AI Genie Review: Key Features
✅Creates Limitless Real-Time Unique Content, auto-publishing Posts, Pages & Images directly from Chat GPT & Open AI on WordPress in any Niche
✅First & Only Google Bard Approved Software That Publishes 100% Original, SEO Friendly Content using Open AI
✅Publish Automated Posts and Pages using AI Genie directly on Your website
✅50 DFY Websites Included Without Adding Any Images, Content Or Doing Anything Yourself
✅Integrated Chat GPT Bot gives Instant Answers on Your Website to Visitors
✅Just Enter the title, and your Content for Pages and Posts will be ready on your website
✅Automatically insert visually appealing images into posts based on keywords and titles.
✅Choose the temperature of the content and control its randomness.
✅Control the length of the content to be generated.
✅Never Worry About Paying Huge Money Monthly To Top Content Creation Platforms
✅100% Easy-to-Use, Newbie-Friendly Technology
✅30-Days Money-Back Guarantee
See My Other Reviews Article:
(1) TubeTrivia AI Review: https://sumonreview.com/tubetrivia-ai-review
(2) SocioWave Review: https://sumonreview.com/sociowave-review
(3) AI Partner & Profit Review: https://sumonreview.com/ai-partner-profit-review
(4) AI Ebook Suite Review: https://sumonreview.com/ai-ebook-suite-review
#AIGenieApp #AIGenieBonus #AIGenieBonuses #AIGenieDemo #AIGenieDownload #AIGenieLegit #AIGenieLiveDemo #AIGenieOTO #AIGeniePreview #AIGenieReview #AIGenieReviewandBonus #AIGenieScamorLegit #AIGenieSoftware #AIGenieUpgrades #AIGenieUpsells #HowDoesAlGenie #HowtoBuyAIGenie #HowtoMakeMoneywithAIGenie #MakeMoneyOnline #MakeMoneywithAIGenie
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...Crescat
Crescat is industry-trusted event management software, built by event professionals for event professionals. Founded in 2017, we have three key products tailored for the live event industry.
Crescat Event for concert promoters and event agencies. Crescat Venue for music venues, conference centers, wedding venues, concert halls and more. And Crescat Festival for festivals, conferences and complex events.
With a wide range of popular features such as event scheduling, shift management, volunteer and crew coordination, artist booking and much more, Crescat is designed for customisation and ease-of-use.
Over 125,000 events have been planned in Crescat and with hundreds of customers of all shapes and sizes, from boutique event agencies through to international concert promoters, Crescat is rigged for success. What's more, we highly value feedback from our users and we are constantly improving our software with updates, new features and improvements.
If you plan events, run a venue or produce festivals and you're looking for ways to make your life easier, then we have a solution for you. Try our software for free or schedule a no-obligation demo with one of our product specialists today at crescat.io
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...Globus
Large Language Models (LLMs) are currently the center of attention in the tech world, particularly for their potential to advance research. In this presentation, we'll explore a straightforward and effective method for quickly initiating inference runs on supercomputers using the vLLM tool with Globus Compute, specifically on the Polaris system at ALCF. We'll begin by briefly discussing the popularity and applications of LLMs in various fields. Following this, we will introduce the vLLM tool, and explain how it integrates with Globus Compute to efficiently manage LLM operations on Polaris. Attendees will learn the practical aspects of setting up and remotely triggering LLMs from local machines, focusing on ease of use and efficiency. This talk is ideal for researchers and practitioners looking to leverage the power of LLMs in their work, offering a clear guide to harnessing supercomputing resources for quick and effective LLM inference.
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...Juraj Vysvader
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I didn't get rich from it but it did have 63K downloads (powered possible tens of thousands of websites).
Enterprise Resource Planning System includes various modules that reduce any business's workload. Additionally, it organizes the workflows, which drives towards enhancing productivity. Here are a detailed explanation of the ERP modules. Going through the points will help you understand how the software is changing the work dynamics.
To know more details here: https://blogs.nyggs.com/nyggs/enterprise-resource-planning-erp-system-modules/
AI Pilot Review: The World’s First Virtual Assistant Marketing SuiteGoogle
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
👉👉 Click Here To Get More Info 👇👇
https://sumonreview.com/ai-pilot-review/
AI Pilot Review: Key Features
✅Deploy AI expert bots in Any Niche With Just A Click
✅With one keyword, generate complete funnels, websites, landing pages, and more.
✅More than 85 AI features are included in the AI pilot.
✅No setup or configuration; use your voice (like Siri) to do whatever you want.
✅You Can Use AI Pilot To Create your version of AI Pilot And Charge People For It…
✅ZERO Manual Work With AI Pilot. Never write, Design, Or Code Again.
✅ZERO Limits On Features Or Usages
✅Use Our AI-powered Traffic To Get Hundreds Of Customers
✅No Complicated Setup: Get Up And Running In 2 Minutes
✅99.99% Up-Time Guaranteed
✅30 Days Money-Back Guarantee
✅ZERO Upfront Cost
See My Other Reviews Article:
(1) TubeTrivia AI Review: https://sumonreview.com/tubetrivia-ai-review
(2) SocioWave Review: https://sumonreview.com/sociowave-review
(3) AI Partner & Profit Review: https://sumonreview.com/ai-partner-profit-review
(4) AI Ebook Suite Review: https://sumonreview.com/ai-ebook-suite-review
Atelier - Innover avec l’IA Générative et les graphes de connaissancesNeo4j
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Allez au-delà du battage médiatique autour de l’IA et découvrez des techniques pratiques pour utiliser l’IA de manière responsable à travers les données de votre organisation. Explorez comment utiliser les graphes de connaissances pour augmenter la précision, la transparence et la capacité d’explication dans les systèmes d’IA générative. Vous partirez avec une expérience pratique combinant les relations entre les données et les LLM pour apporter du contexte spécifique à votre domaine et améliorer votre raisonnement.
Amenez votre ordinateur portable et nous vous guiderons sur la mise en place de votre propre pile d’IA générative, en vous fournissant des exemples pratiques et codés pour démarrer en quelques minutes.
OpenMetadata Community Meeting - 5th June 2024OpenMetadata
The OpenMetadata Community Meeting was held on June 5th, 2024. In this meeting, we discussed about the data quality capabilities that are integrated with the Incident Manager, providing a complete solution to handle your data observability needs. Watch the end-to-end demo of the data quality features.
* How to run your own data quality framework
* What is the performance impact of running data quality frameworks
* How to run the test cases in your own ETL pipelines
* How the Incident Manager is integrated
* Get notified with alerts when test cases fail
Watch the meeting recording here - https://www.youtube.com/watch?v=UbNOje0kf6E
Zoom is a comprehensive platform designed to connect individuals and teams efficiently. With its user-friendly interface and powerful features, Zoom has become a go-to solution for virtual communication and collaboration. It offers a range of tools, including virtual meetings, team chat, VoIP phone systems, online whiteboards, and AI companions, to streamline workflows and enhance productivity.
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI AppGoogle
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
👉👉 Click Here To Get More Info 👇👇
https://sumonreview.com/ai-fusion-buddy-review
AI Fusion Buddy Review: Key Features
✅Create Stunning AI App Suite Fully Powered By Google's Latest AI technology, Gemini
✅Use Gemini to Build high-converting Converting Sales Video Scripts, ad copies, Trending Articles, blogs, etc.100% unique!
✅Create Ultra-HD graphics with a single keyword or phrase that commands 10x eyeballs!
✅Fully automated AI articles bulk generation!
✅Auto-post or schedule stunning AI content across all your accounts at once—WordPress, Facebook, LinkedIn, Blogger, and more.
✅With one keyword or URL, generate complete websites, landing pages, and more…
✅Automatically create & sell AI content, graphics, websites, landing pages, & all that gets you paid non-stop 24*7.
✅Pre-built High-Converting 100+ website Templates and 2000+ graphic templates logos, banners, and thumbnail images in Trending Niches.
✅Say goodbye to wasting time logging into multiple Chat GPT & AI Apps once & for all!
✅Save over $5000 per year and kick out dependency on third parties completely!
✅Brand New App: Not available anywhere else!
✅ Beginner-friendly!
✅ZERO upfront cost or any extra expenses
✅Risk-Free: 30-Day Money-Back Guarantee!
✅Commercial License included!
See My Other Reviews Article:
(1) AI Genie Review: https://sumonreview.com/ai-genie-review
(2) SocioWave Review: https://sumonreview.com/sociowave-review
(3) AI Partner & Profit Review: https://sumonreview.com/ai-partner-profit-review
(4) AI Ebook Suite Review: https://sumonreview.com/ai-ebook-suite-review
#AIFusionBuddyReview,
#AIFusionBuddyFeatures,
#AIFusionBuddyPricing,
#AIFusionBuddyProsandCons,
#AIFusionBuddyTutorial,
#AIFusionBuddyUserExperience
#AIFusionBuddyforBeginners,
#AIFusionBuddyBenefits,
#AIFusionBuddyComparison,
#AIFusionBuddyInstallation,
#AIFusionBuddyRefundPolicy,
#AIFusionBuddyDemo,
#AIFusionBuddyMaintenanceFees,
#AIFusionBuddyNewbieFriendly,
#WhatIsAIFusionBuddy?,
#HowDoesAIFusionBuddyWorks
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
Which Log Level Should Developers Choose For a New Logging Statement?
1. Which log level should developers
choose for a new logging statement?
Journal-first Presentation | Empirical Software
Engineering
Heng Li Weiyi Shang Ahmed E.
Hassan
3. A verbosity level can be assigned to
each logging statement
3
Log.info(“Log
message”)
Trace
Debu
g
Info
WarnErrorFatal
4. Log levels are used to disable some verbose
log messages while enable important ones
4
Trace
Debu
g
Info
WarnErrorFatal
Trace
Debu
g
Info
Warn
Error
Fatal Less verbose
levels
(higher levels)
More verbose
levels (lower
levels)
5. Log levels are used to disable some verbose
log messages while enable important ones
5
Trace
Debu
g
Info
Warn
Error
Fatal
System/module
level setting:
LogLevel = Warn
Less verbose
levels
(higher levels)
More verbose
levels (lower
levels)
6. Improper log levels can have many
negative impacts
6
“…tends to generate a lot of log noise…”
“These warnings worry users, especially first time users”
7. Researchers and industrial experts
highlighted the challenge of choosing proper
log levels
7
Developers spend much
efforts on adjusting log
levels
Severity levels are often
used inaccurately
[Oliner et al. CACM’12]
[Yuan et al. ICSE’12]
8. We want to suggest log levels when
developers add a new logging statement
8
Add a new
logging
statement
Which log
level should
be used?
+
Logger.level();
9. We study the code change history
of four subject systems
9
Over 2 M lines of code
Over 13 K logging statements
Added 17 K logging statements in history
11. Developers spend much effort
adjusting log levels
11
Trace Debug Info Warn Error Fatal
Trace 0 25 2 0 0 0
Debug 16 9 41 3 7 1
Info 8 211 7 13 4 0
Warn 0 23 35 0 16 3
Error 0 12 23 23 2 4
Fatal 0 1 0 1 1 0
491 logging statements had at least
one log level change
Log level after changesInitial
log
level
12. Developers spend much effort
adjusting log levels
12
Trace Debug Info Warn Error Fatal
Trace 0 25 2 0 0 0
Debug 16 9 41 3 7 1
Info 8 211 7 13 4 0
Warn 0 23 35 0 16 3
Error 0 12 23 23 2 4
Fatal 0 1 0 1 1 0
72% of the log level changes
are from a higher level to a lower level
Log level after changesInitial
log
level
13. Developers spend much effort
adjusting log levels
13
Trace Debug Info Warn Error Fatal
Trace 0 25 2 0 0 0
Debug 16 9 41 3 7 1
Info 8 211 7 13 4 0
Warn 0 23 35 0 16 3
Error 0 12 23 23 2 4
Fatal 0 1 0 1 1 0
78% of the log level changes
are between adjacent levels
Log level after changesInitial
log
level
14. Developers spend much effort
adjusting log levels
14
Trace Debug Info Warn Error Fatal
Trace 0 25 2 0 0 0
Debug 16 9 41 3 7 1
Info 8 211 7 13 4 0
Warn 0 23 35 0 16 3
Error 0 12 23 23 2 4
Fatal 0 1 0 1 1 0
51% of the log level changes
are between “info” and “debug” levels
Log level after changesInitial
log
level
15. Which log level should developers choose
for a new logging statement?
15
RQ1: How well can we model the log
levels of logging statements?
RQ2: What are the important factors for
determining the log level of a logging
statement?
16. Which log level should developers choose
for a new logging statement?
16
RQ1: How well can we model the log
levels of logging statements?
RQ2: What are the important factors for
determining the log level of a logging
statement?
17. We derive 22 metrics from 5 dimensions
to model log levels
17
Logging statement
metrics
Containing block metrics
Containing file metrics
Code change metrics
Historical change metrics
The metrics are
extracted for each
logging statement,
at the time when the
logging statement is
added
We exclude the
logging statements
with subsequent log
level change
20. Ordinal regression model can effectively
model log levels
20
0.76 0.78 0.81
0.75
0.4
0.5
0.6
0.7
0.8
0.9
1
Random
guess
AUC
The performance (AUC) of a within-project evaluation
21. Ordinal regression model can effectively
model log levels
21
0.76 0.78
0.81
0.750.72
0.76
0.8
0.71
0.4
0.5
0.6
0.7
0.8
0.9
1 Within-project Cross-project
The performance (AUC) of a cross-project
evaluation
AUC
22. Which log level should developers choose
for a new logging statement?
22
RQ1: How well can we model the log
levels of logging statements?
RQ2: What are the important factors for
determining the log level of a logging
statement?
23. We use a Wald 𝝌 𝟐 test to measure the
variable importance
23
Wald 𝝌 𝟐
Test
tests the significance of a variable against the null
hypothesis that the coefficient is equal to zero:
𝐻0: 𝜃 = 0
𝐻0: 𝜃0 = 𝜃1 = ⋯ = 𝜃 𝑘
Joint Wald 𝝌 𝟐 Test
tests the joint impact of a group
of
variables to a model’s fitness:
24. The most influential factors for log levels
are different for different projects
24
889
189
96
224
640
894
577
723
258
549
91
1134
5 0 0
78
0 67 0 0
0
500
1000
1500
The joint importance of each dimension of metrics
Logging statement metrics
Containing block metrics
Wald𝜒2statistic
25. The most influential factors for log levels
are different for different projects
25
889
189
96
224
640
894
577
723
258
549
91
1134
5 0 0
78
0 67 0 0
0
500
1000
1500
The joint importance of each dimension of metrics
Logging statement metrics
Containing block metrics
Wald𝜒2statistic
26. The most influential factors for log levels
are different for different projects
26
889
189
96
224
640
894
577
723
258
549
91
1134
5 0 0
78
0 67 0 0
0
500
1000
1500
The joint importance of each dimension of metrics
Logging statement metrics
Containing block metrics
Wald𝜒2statistic
27. 27
Log levels are used to disable some verbose
log messages while enable important ones
Trace
Debug
Info
Warn
Error
Fatal
System/ module level
setting:
LogLevel = W arn
Less verbose levels
(higher levels)
More verbose
levels (lower levels)
28. Log levels are used to disable some verbose
log messages while enable important ones
Trace
Debug
Info
Warn
Error
Fatal
System/ module level
setting:
LogLevel = W arn
Less verbose levels
(higher levels)
More verbose
levels (lower levels)
28
30. Log levels are used to disable some verbose
log messages while enable important ones
Trace
Debug
Info
Warn
Error
Fatal
System/ module level
setting:
LogLevel = W arn
Less verbose levels
(higher levels)
More verbose
levels (lower levels)
30
31. 31
Ordinal regression model can effectively
model log levels
0.72
0.76
0.8
0.71
0.76 0.78
0.81
0.75
0.4
0.5
0.6
0.7
0.8
0.9
1 Within-project Cross-project
The performance (AUC) of a cross-project evaluation
AUC
32. Log levels are used to disable some verbose
log messages while enable important ones
Trace
Debug
Info
Warn
Error
Fatal
System/ module level
setting:
LogLevel = W arn
Less verbose levels
(higher levels)
More verbose
levels (lower levels)
32
Ordinal regression model can effectively
model log levels
0.72
0.76
0.8
0.71
0.76 0.78
0.81
0.75
0.4
0.5
0.6
0.7
0.8
0.9
1 Within-project Cross-project
The performance (AUC) of a cross-project evaluation
AUC
34. Log levels are used to disable some verbose
log messages while enable important ones
Trace
Debug
Info
Warn
Error
Fatal
System/ module level
setting:
LogLevel = W arn
Less verbose levels
(higher levels)
More verbose
levels (lower levels)
34
Ordinal regression model can effectively
model log levels
0.72
0.76
0.8
0.71
0.76 0.78
0.81
0.75
0.4
0.5
0.6
0.7
0.8
0.9
1 Within-project Cross-project
The performance (AUC) of a cross-project evaluation
AUC
http://hengli.org
hengli@cs.queensu.ca
Editor's Notes
Log levels are beneficial for both developers and users to trade-off the rich information in logs with their associated overhead.
the ordinal regression model is used to predict an ordinal dependent variable, i.e., a variable with categorical values where the relative ordering between different values is important.
We leverage ordinal regression models in automated log level prediction because log level has a small number (e.g., six) of categorical values and the relative ordering among these categorical values is important, hence neither a logistic regression model nor a classification model is as appropriate as an ordinal regression model.