Semantic Slicing of Architectural Change Commits: Towards Semantic Design Review

09/02/2021
by   Amit Kumar Mondal, et al.
0

Software architectural changes involve more than one module or component and are complex to analyze compared to local code changes. Development teams aiming to review architectural aspects (design) of a change commit consider many essential scenarios such as access rules and restrictions on usage of program entities across modules. Moreover, design review is essential when proper architectural formulations are paramount for developing and deploying a system. Untangling architectural changes, recovering semantic design, and producing design notes are the crucial tasks of the design review process. To support these tasks, we construct a lightweight tool [4] that can detect and decompose semantic slices of a commit containing architectural instances. A semantic slice consists of a description of relational information of involved modules, their classes, methods and connected modules in a change instance, which is easy to understand to a reviewer. We extract various directory and naming structures (DANS) properties from the source code for developing our tool. Utilizing the DANS properties, our tool first detects architectural change instances based on our defined metric and then decomposes the slices (based on string processing). Our preliminary investigation with ten open-source projects (developed in Java and Kotlin) reveals that the DANS properties produce highly reliable precision and recall (93-100 architectural slices. Our proposed tool will serve as the preliminary approach for the semantic design recovery and design summary generation for the project releases.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
12/07/2019

Accepted or Abandoned? Predicting the Fate of Code Changes

Many mature Open-Source Software (OSS), as well as commercial, organizat...
research
10/19/2018

Coming: a Tool for Mining Change Pattern Instances from Git Commits

Software repositories such as Git have become a relevant source of infor...
research
12/21/2020

AC2 – Towards Understanding Architectural Changes in Rapid Releases

Open source projects are adopting faster release cycles that reflect var...
research
02/19/2021

Architectural Decay as Predictor of Issue- and Change-Proneness

Architectural decay imposes real costs in terms of developer effort, sys...
research
09/20/2021

To Automatically Map Source Code Entities to Architectural Modules with Naive Bayes

Background: The process of mapping a source code entity onto an architec...
research
06/21/2021

An Exploratory Study on Architectural Knowledge in Issue Tracking Systems

Software developers use issue trackers (e.g. Jira) to manage defects, bu...

Please sign up or login with your details

Forgot password? Click here to reset