Rethinking complexity for software code structures: A pioneering study on Linux kernel code repository

03/01/2021
by   Wenhe Zhang, et al.
0

The recent progress of artificial intelligence(AI) has shown great potentials for alleviating human burden in various complex tasks. From the view of software engineering, AI techniques can be seen in many fundamental aspects of development, such as source code comprehension, in which state-of-the-art models are implemented to extract and express the meaning of code snippets automatically. However, such technologies are still struggling to tackle and comprehend the complex structures within industrial code, thus far from real-world applications. In the present work, we built an innovative and systematical framework, emphasizing the problem of complexity in code comprehension and further software engineering. Upon automatic data collection from the latest Linux kernel source code, we modeled code structures as complex networks through token extraction and relation parsing. Comprehensive analysis of complexity further revealed the density and scale of network-based code representations. Our work constructed the first large-scale dataset from industrial-strength software code for downstream software engineering tasks including code comprehension, and incorporated complex network theory into code-level investigations of software development for the first time. In the longer term, the proposed methodology could play significant roles in the entire software engineering process, powering software design, coding, debugging, testing, and sustaining by redefining and embracing complexity.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
10/11/2022

Leveraging Artificial Intelligence on Binary Code Comprehension

Understanding binary code is an essential but complex software engineeri...
research
02/10/2022

A Survey on Artificial Intelligence for Source Code: A Dialogue Systems Perspective

In this survey paper, we overview major deep learning methods used in Na...
research
11/21/2012

Scaling Genetic Programming for Source Code Modification

In Search Based Software Engineering, Genetic Programming has been used ...
research
03/11/2022

Bringing Source-Level Debugging Frameworks to Hardware Generators

High-level hardware generators have significantly increased the producti...
research
07/12/2023

Navigating the Complexity of Generative AI Adoption in Software Engineering

In this paper, the adoption patterns of Generative Artificial Intelligen...
research
03/13/2023

xASTNN: Improved Code Representations for Industrial Practice

The application of deep learning techniques in software engineering beco...
research
04/04/2021

Assert Use and Defectiveness in Industrial Code

The use of asserts in code has received increasing attention in the soft...

Please sign up or login with your details

Forgot password? Click here to reset