Developer Productivity Engineering in the Complex Low-Level Systems World Logo

Bartosz Zator

Head of Mobile Security

Samsung Poland Research Institute

Developer Productivity Engineering in the Complex Low-Level Systems World

Summit Producer's Highlight

For Adrian and Bartosz at Samsung, software running on embedded systems—powering mobile phones, cars, and IoT devices—presents complex needs that require a specialized approach to DPE. In this talk, learn why Samsung created Code Aware Services (CAS) to bring forward data about builds and source code to further refine their developer productivity metrics and initiatives.

Summit Producer's Highlight

Watch Video

About the session

For Adrian and Bartosz at Samsung, software running on embedded systems—powering mobile phones, cars, and IoT devices—presents complex needs that require a specialized approach to DPE. In this talk, learn why Samsung created Code Aware Services (CAS) to bring forward data about builds and source code to further refine their developer productivity metrics and initiatives.

Watch the video Play Button

View the slides Arrow Down

About this talk

Software systems powering OS kernels, basebands, bootloaders, firmware, IoT or automotive build the foundation of infrastructure that billions of people rely on every day. Developing and maintaining such systems is challenging as they usually consist of a very large number of source files, have multiple configurations, hundreds of modules and various custom build steps. Therefore, tools that help engineers navigate through the growing complexity of low-level systems are highly desirable.

In this talk, we present various developer productivity engineering (DPE) techniques that we developed and used in the last few years to ensure high performance and effectiveness of engineers working on the system layer of the OS. The cornerstone of these techniques is our novel Code Aware Services (CAS) toolchain which opens up new possibilities for DPE-related applications.

CAS is a set of tools for extracting information from the build process and the source code. This includes data such as how a particular software image is created or information on functions, types and dependencies across them. CAS makes this data easily accessible to external applications.

In the talk, we will first present core components of CAS: low-overhead build tracer module, clang-based source code processor and Python libraries used for application development. Then, we will talk about selected DPE techniques and tools developed on top of CAS.

One DPE tool we will present is Build Awareness Service: a system which provides detailed information acquired during the full build of a product. We will demonstrate how this information could be used to improve various aspects of S/W Engineer’s job:

  • Better code search and IDE indexing enhancements
  • Using build-related data to automate various S/W related operations, e.g. generate custom Makefiles for partial/incremental builds or fine-grained static analysis, provide process visualization, build dependency analysis, execution time measurements etc.

About this talk

Watch The Video

Get more DPE

The slides

Array
Samsung Poland Research Institute

Who is Bartosz Zator?

Bartosz Zator is a Mobile Security manager at Samsung Electronics Poland R&D where he leads a team responsible for security assessment of the latest flagship mobile products. Bartosz spent over 15 years working on various aspects of mobile development, including Linux kernel development, product commercialization, factory process improvement, DSP programming, build optimization and more. Bartosz is passionate about creating development tools that help software engineers. For the past 7 years, his main task has been to make the life of security engineers radically easier. To this end, he proposed and led several projects aimed at creating automatic vulnerability detection tools for finding and triaging software bugs. Many of these tools can be successfully applied in the more general S/W Engineering context at the scale of a large mobile product code to improve developer productivity.

Slide 0
Slide 1
Slide 2
Slide 3
Slide 4
Slide 5
Slide 6
Slide 7
Slide 8
Slide 9
Slide 10
Slide 11
Slide 12
Slide 13
Slide 14
Slide 15
Slide 16
Slide 17
Slide 18
Slide 19
Slide 20
Slide 21
Slide 22
Slide 23
Slide 24
Slide 25
Slide 26
Slide 27
Slide 28
Slide 29
Slide 30
Slide 31
Slide 32
Slide 33
Slide 34
Slide 35
Slide 36
Slide 37
Slide 38
Slide 39
Slide 40
Slide 41
Slide 42
Slide 43
Slide 44
Slide 45
Slide 46
Slide 47
Slide 48
Slide 49
Slide 50