Software Engineering

Overview

As SW development becomes more complex, the code size of major SW platforms grows from thousands to hundreds of millions of lines, and the release cycle becomes shorter to respond quickly to market needs. Furthermore, various devices used daily are interconnected to provide consumers with new experiences. Therefore, the rapid development of high-quality SW is essential for increasing product competitiveness, allowing customers’ needs to be quickly reflected and providing a competitive advantage with timely market releases.

Our Vision

Our goal is to create an efficient development system capable of quickly producing high-quality SW. To achieve this, we maximize development productivity by providing developers with tools and infrastructure that can be utilized across all phases of SW development. Advanced testing or code analysis techniques are employed to detect and eliminate as many defects as possible during development, resulting in improved SW quality before product release. At Samsung Research, we are exploring ways to provide consumers with convenient and smart products more rapidly by establishing a foundation for improving SW completeness during development.

Research Topics
  • We fundamentally understand and improve SW operation with code analysis technologies based on programming languages. It visualizes the SW architecture to detect structural flaws and analyzes SW behavior with static analysis tools to eliminate inherent defects and open-source license violations in advance. In addition, it improves SW developers’ experiences by learning large-capacity code storage, utilizing intelligent development tools, and incorporating an Integrated Development Environment (IDE). Furthermore, it promotes development into an interactive AI Pair Programmer capable of automatically generating codes suitable for development situations.

  • To ensure SW quality, we research efficient testing technology optimized for our products. We write and execute test cases to detect flaws in code, automate tasks such as root cause analysis, and develop verification technology. To this end, we analyze the verification path through the user’s big data and study the automation of intelligent tests. In addition, we preemptively secure quality by researching verification techniques specialized for new domains, such as AI and robots.

  • We improve productivity by building infrastructure that automates the workflow and converts it to a virtual process. When a developer writes code, a series of processes, such as build, analysis, and tests, are automated. In addition, it provides a virtual development environment that allows developers to execute activities such as coding and testing, regardless of time and place.