Grant: Discovery Grants Program - Individual
York University
$70,000.00
Improving the Software Logging Practices to Support the Decision-Making Process of DevOps Engineers
FY 2024-25
Summary
DevOps is currently a popular development methodology that intends to provide rapid feedback between software development and IT operations. Compared to traditional software development processes, DevOps aims to provide rapid feedback between software development (a.k.a., the Devs) and field operations (a.k.a., the Ops) so that new features and bug fixes can be released faster to customers. To ensure the quality and the health of the deployed systems, software logging plays a central role.
Logs are ubiquitous. They exist in all types of software systems ranging from embedded devices to ultra-large-scale cloud platforms. According to Gartner, software logging is a 1.5 billion market, which is growing at an annual rate of 10%. Unfortunately, existing logging practices are ad-hoc and rely mainly on DevOps engineers' experience and gut feelings. On the development side, as logging code tangles with feature code, it is very challenging to maintain and update logging code along with feature code for constantly evolving systems. On the operation side, many systems also deploy additional monitoring infrastructures (e.g., Application Performance Monitoring and distributed tracing) on top of software logging, existing log analysis techniques seldom leverage the rich information that is contained in these telemetry data. Furthermore, there are limited mechanisms for knowledge sharing between developers and operators, although they both use logs extensively.
In order to achieve my long-term research vision, which is to support data-driven decision making throughout the software development and operations lifecycles, my short-term research objective over the next five-years is to support the decision making process of DevOps engineers by systematically improving the software logging practices. The following three research topics are proposed towards this objective: (1) analytics-driven logging code design, which derives the best practices from existing systems to assist developers in producing high quality logging code, (2) deployment-aware log analysis, which leverages telemetry data to assist operators in root cause isolation, and (3) use-case-oriented sharing of logging knowledge, which integrates development and operation information to facilitate collaboration and interaction between the Devs and the Ops. This research will train twelve HQPs (4 PhD, 3 MSc, and 5 undergraduate students) in the following two highly sought-after professions in the Information and Communication Technology (ICT) sector: (1) DevOps Engineers, and (2) Data Scientists.
Program
Discovery Grants Program - Individual
Recipient
Location
Ontario, Canada
Recipient Type
Academia
Type
Grant
Source
NSERC's Awards Data
As published
Application id
RGPIN-2020-06122
Name nom
Jiang, Zhen Ming (Jack)
Department département
Computer Science and Engineering - Computer Science and Engineering
Organization id
38
Institution établissement
York University
Province en
Ontario
Province fr
Ontario
Country en
CANADA
Country fr
CANADA
Fiscal year exercice financier
2024
Competition year année de concours
2020
Award amount
70000
Program id
RGPIN
Program name en
Discovery Grants Program - Individual
Program name fr
Programme de subventions à la découverte - individuelles
Group en
DISCOVERY RESEARCH
Group fr
RECHERCHE AXÉE SUR LA DÉCOUVERTE
Committee code
1507
Committee name en
Computer Science
Committee name fr
Sciences informatiques
Area of application code
802
Area of application group en
Information and communication services
Area of application group fr
Services d'information et de télécommunications
Area of application en
Information systems and technology
Area of application fr
Systèmes d'information et technologie de l'information
Research subject code
2706
Research subject group en
Information technology
Research subject group fr
Technologie de l'information
Research subject en
Software engineering
Research subject fr
Génie logiciel
Field of research list names en
Not available
Field of research list names fr
Non disponible
Socioeconomic objective list names en
Not available
Socioeconomic objective list names fr
Non disponible
Application title
Improving the Software Logging Practices to Support the Decision-Making Process of DevOps Engineers
Keywords
software engineering; empirical software engineering; logging code; software maintaince; software analysis; large-scale software systems; software analytics; devops; patterns and anti-patterns; log analysis
Application summary
DevOps is currently a popular development methodology that intends to provide rapid feedback between software development and IT operations. Compared to traditional software development processes, DevOps aims to provide rapid feedback between software development (a.k.a., the Devs) and field operations (a.k.a., the Ops) so that new features and bug fixes can be released faster to customers. To ensure the quality and the health of the deployed systems, software logging plays a central role.
Logs are ubiquitous. They exist in all types of software systems ranging from embedded devices to ultra-large-scale cloud platforms. According to Gartner, software logging is a 1.5 billion market, which is growing at an annual rate of 10%. Unfortunately, existing logging practices are ad-hoc and rely mainly on DevOps engineers' experience and gut feelings. On the development side, as logging code tangles with feature code, it is very challenging to maintain and update logging code along with feature code for constantly evolving systems. On the operation side, many systems also deploy additional monitoring infrastructures (e.g., Application Performance Monitoring and distributed tracing) on top of software logging, existing log analysis techniques seldom leverage the rich information that is contained in these telemetry data. Furthermore, there are limited mechanisms for knowledge sharing between developers and operators, although they both use logs extensively.
In order to achieve my long-term research vision, which is to support data-driven decision making throughout the software development and operations lifecycles, my short-term research objective over the next five-years is to support the decision making process of DevOps engineers by systematically improving the software logging practices. The following three research topics are proposed towards this objective: (1) analytics-driven logging code design, which derives the best practices from existing systems to assist developers in producing high quality logging code, (2) deployment-aware log analysis, which leverages telemetry data to assist operators in root cause isolation, and (3) use-case-oriented sharing of logging knowledge, which integrates development and operation information to facilitate collaboration and interaction between the Devs and the Ops. This research will train twelve HQPs (4 PhD, 3 MSc, and 5 undergraduate students) in the following two highly sought-after professions in the Information and Communication Technology (ICT) sector: (1) DevOps Engineers, and (2) Data Scientists.