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

Adrian Nieć

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 Adrian Nieć?

Adrian Nieć is Principal Software Developer in Mobile Security at Samsung Electronics Poland R&D. During his career at Samsung, he’s worked on a variety of projects, like low level FOTA solutions, device power managing, but also in Cloud division.

For the last six years, his role has been head hardware and software infrastructure developer for a team of security researchers responsible for all infrastructre layers, from bare metal deployment up to distributed server computing.

Adrian developed numerous in-house tools, database solutions, and distributed systems tailored for team needs.