An automated refactoring approach for asynchronous mechanism

As synchronous blocking wastes system resources and affects program performance in concurrent processing,an automatic refactoring approach based on the asynchronous mechanism of CompletableFuture was proposed.Firstly,several static analyses by Wala static program analysis tool,such as visitor patter...

Descripción completa

Guardado en:
Detalles Bibliográficos
Autores principales: Minghan JI, Lin QI, Yang ZHANG, Shicheng DONG, Chaoshuai LI
Formato: article
Lenguaje:ZH
Publicado: Hebei University of Science and Technology 2021
Materias:
T
Acceso en línea:https://doaj.org/article/b059e733e109466088bc2e7ec86d7d77
Etiquetas: Agregar Etiqueta
Sin Etiquetas, Sea el primero en etiquetar este registro!
id oai:doaj.org-article:b059e733e109466088bc2e7ec86d7d77
record_format dspace
spelling oai:doaj.org-article:b059e733e109466088bc2e7ec86d7d772021-11-23T07:09:07ZAn automated refactoring approach for asynchronous mechanism1008-154210.7535/hbkd.2021yx05008https://doaj.org/article/b059e733e109466088bc2e7ec86d7d772021-10-01T00:00:00Zhttp://xuebao.hebust.edu.cn/hbkjdx/ch/reader/create_pdf.aspx?file_no=b202105008&flag=1&journal_https://doaj.org/toc/1008-1542As synchronous blocking wastes system resources and affects program performance in concurrent processing,an automatic refactoring approach based on the asynchronous mechanism of CompletableFuture was proposed.Firstly,several static analyses by Wala static program analysis tool,such as visitor pattern analysis,alias analysis,and data flow analysis were used in this approach,so that the operation mode of shared variable data was determined.Then four asynchronous refactoring modes were set based on the asynchronous mechanism of CompletableFuture.Finally,the code was refactored according to different modes.An automatic tool AsynRef was implemented by Eclipse and four large-scale practical applications such as HSQLDB,Jenkins,JGroups,and SPECjbb2005 were automatically refactored by AsynRef.AsynRef was evaluated via the number of refactored locks,changed lines of code,accuracy,program performance after refactoring.Among the 919 synchronous methods contained in the four programs,387 asynchronous mechanism conversions were completed.After Asynref was used for asynchronous mechanism refactoring,the program execution performance was improved by 8% to 39%.AsynRef can refactor for aynchronized mechanism effectively.Compared to manual refactoring,the refactoring efficiency is improved significantly.[HQ]Minghan JILin QIYang ZHANGShicheng DONGChaoshuai LIHebei University of Science and Technologyarticleconcurrent processing; synchronization mechanism; asynchronous mechanism; static program analysis; automatic refactoringTechnologyTZHJournal of Hebei University of Science and Technology, Vol 42, Iss 5, Pp 499-507 (2021)
institution DOAJ
collection DOAJ
language ZH
topic concurrent processing; synchronization mechanism; asynchronous mechanism; static program analysis; automatic refactoring
Technology
T
spellingShingle concurrent processing; synchronization mechanism; asynchronous mechanism; static program analysis; automatic refactoring
Technology
T
Minghan JI
Lin QI
Yang ZHANG
Shicheng DONG
Chaoshuai LI
An automated refactoring approach for asynchronous mechanism
description As synchronous blocking wastes system resources and affects program performance in concurrent processing,an automatic refactoring approach based on the asynchronous mechanism of CompletableFuture was proposed.Firstly,several static analyses by Wala static program analysis tool,such as visitor pattern analysis,alias analysis,and data flow analysis were used in this approach,so that the operation mode of shared variable data was determined.Then four asynchronous refactoring modes were set based on the asynchronous mechanism of CompletableFuture.Finally,the code was refactored according to different modes.An automatic tool AsynRef was implemented by Eclipse and four large-scale practical applications such as HSQLDB,Jenkins,JGroups,and SPECjbb2005 were automatically refactored by AsynRef.AsynRef was evaluated via the number of refactored locks,changed lines of code,accuracy,program performance after refactoring.Among the 919 synchronous methods contained in the four programs,387 asynchronous mechanism conversions were completed.After Asynref was used for asynchronous mechanism refactoring,the program execution performance was improved by 8% to 39%.AsynRef can refactor for aynchronized mechanism effectively.Compared to manual refactoring,the refactoring efficiency is improved significantly.[HQ]
format article
author Minghan JI
Lin QI
Yang ZHANG
Shicheng DONG
Chaoshuai LI
author_facet Minghan JI
Lin QI
Yang ZHANG
Shicheng DONG
Chaoshuai LI
author_sort Minghan JI
title An automated refactoring approach for asynchronous mechanism
title_short An automated refactoring approach for asynchronous mechanism
title_full An automated refactoring approach for asynchronous mechanism
title_fullStr An automated refactoring approach for asynchronous mechanism
title_full_unstemmed An automated refactoring approach for asynchronous mechanism
title_sort automated refactoring approach for asynchronous mechanism
publisher Hebei University of Science and Technology
publishDate 2021
url https://doaj.org/article/b059e733e109466088bc2e7ec86d7d77
work_keys_str_mv AT minghanji anautomatedrefactoringapproachforasynchronousmechanism
AT linqi anautomatedrefactoringapproachforasynchronousmechanism
AT yangzhang anautomatedrefactoringapproachforasynchronousmechanism
AT shichengdong anautomatedrefactoringapproachforasynchronousmechanism
AT chaoshuaili anautomatedrefactoringapproachforasynchronousmechanism
AT minghanji automatedrefactoringapproachforasynchronousmechanism
AT linqi automatedrefactoringapproachforasynchronousmechanism
AT yangzhang automatedrefactoringapproachforasynchronousmechanism
AT shichengdong automatedrefactoringapproachforasynchronousmechanism
AT chaoshuaili automatedrefactoringapproachforasynchronousmechanism
_version_ 1718416845725237248