Chulalongkorn University Theses and Dissertations (Chula ETD)

Other Title (Parallel Title in Other Language of ETD)

Extract-package refactoring using community detection for too large packages

Year (A.D.)

2019

Document Type

Thesis

First Advisor

พรศิริ หมื่นไชยศรี

Faculty/College

Faculty of Engineering (คณะวิศวกรรมศาสตร์)

Department (if any)

Department of Computer Engineering (ภาควิชาวิศวกรรมคอมพิวเตอร์)

Degree Name

วิทยาศาสตรมหาบัณฑิต

Degree Level

ปริญญาโท

Degree Discipline

วิทยาศาสตร์คอมพิวเตอร์

DOI

10.58837/CHULA.THE.2019.1136

Abstract

อาคิเทกเจอร์สเมลเป็นการออกแบบโครงสร้างสถาปัตยกรรมที่ไม่ดีซึ่งเปิดเผยถึงผลกระทบด้านลบต่อคุณภาพซอฟต์แวร์และยังเพิ่มความเสี่ยงในการเกิดข้อบกพร่องตามมาในอนาคต งานวิจัยที่ผ่านมาได้กำหนดและนำเสนออาคิเทกเจอร์สเมลไว้ในหลายรูปแบบและแต่ละรูปแบบส่งผลกระทบต่อคุณภาพซอฟต์แวร์ในมุมที่แตกต่างกัน กระบวนการรีแฟคทอริงเชิงสถาปัตยกรรมเป็นกระบวนการที่ใช้กำจัดอาคิเทกเจอร์สเมลและปรับปรุงคุณภาพของระบบโดยไม่เกิดการเปลี่ยนแปลงพฤติกรรมการทำงานของระบบ อย่างไรก็ตามการกำจัดอาคิเทกเจอร์สเมลรูปแบบหนึ่งอาจก่อให้เกิดอาคิเทกเจอร์สเมลในรูปแบบอื่นขึ้นในระบบ ซึ่งส่งผลกระทบโดยตรงต่อคุณภาพซอฟต์แวร์ งานวิจัยนี้นำเสนอวิธีการในการรีแฟคทอริงสำหรับแพ็กเกจขนาดใหญ่เกินซึ่งเป็นรูปแบบหนึ่งของอาคิเทกเจอร์สเมล โดยใช้การตรวจหาคอมมิวนิตีในกระบวนการรีแฟคทอริงแบบเอ็กซ์แทรกต์แพ็กเกจ กระบวนการนี้ใช้สำหรับการแยกแพ็กเกจที่ถูกตรวจพบอาคิเทกเจอร์สเมลรูปแบบแพ็กเกจขนาดใหญ่เกินให้มีขนาดเล็กลง และหลีกเลี่ยงผลกระทบอื่น ๆ จากอาคิเทกเจอร์สเมลบนพื้นฐานการพึ่งพา โดยมุ่งเน้นที่อาคิเทกเจอร์สเมลรูปแบบอันสเตเบิลดีเพนเดนซี วิธีการที่นำเสนอนี้ได้ให้แนวทางที่เป็นไปได้ที่จะแก้ไขผลกระทบจากอาคิเทกเจอร์สเมลรูปแบบแพ็กเกจขนาดใหญ่เกิน ซึ่งสามารถประเมินผลโดยการเปรียบเทียบจำนวนอาคิเทกเจอร์สเมลที่ตรวจพบและค่าตัวชี้วัดซอฟต์แวร์ ก่อนและหลังใช้กระบวนการรีแฟคทอริง นอกจากนี้ในงานวิจัยนี้ยังพัฒนาเครื่องมือบนพื้นฐานของวิธีการที่นำเสนอเพื่อที่จะเสนอวิธีการรีแฟคทอริงและสนับสนุนนักพัฒนาเพื่อปรับปรุงคุณภาพซอฟต์แวร์โดยการแก้ไขผลกระทบจากอาคิเทกเจอร์สเมลรูปแบบแพ็กเกจขนาดใหญ่เกินในระหว่างขั้นตอนการพัฒนาและการบำรุงรักษา

Other Abstract (Other language abstract of ETD)

Architecture smells are poor design of architectural structures which reveal negative impacts on software quality and increase risks of bugs in the future. Previous research defines and proposes various architecture smells and each one affects software quality in different aspects. Architecture refactoring is a process that removes an architecture smell and improves quality of system without any changes in system behavior. However, removing one of the architecture smells may cause creating of another smell in the system which directly affects software quality. This thesis proposes a refactoring approach for Too Large Packages smell which is one of the architecture smells by using community detection in extract-package refactoring process. This process is used for extracting the package which is identified as Too Large Packages smell into small ones and avoids additional impacts from newly appeared dependency-based architecture smells by focusing on Unstable Dependency smell. The proposed approach provides feasible solution to resolve impact from Too Large Packages smell which can be evaluated by comparing number of detected architecture smells and software metrics of before and after applying refactoring process. In addition, this thesis also develops a software tool based on the proposed approach to suggest the refactoring solution and support developers to improve software quality by resolving impacts from Too Large Packages smell during implementation and maintenance phase.

Share

COinS
 
 

To view the content in your browser, please download Adobe Reader or, alternately,
you may Download the file to your hard drive.

NOTE: The latest versions of Adobe Reader do not support viewing PDF files within Firefox on Mac OS and if you are using a modern (Intel) Mac, there is no official plugin for viewing PDF files within the browser window.