Fujitsu Develops Technology that Quickly Tracks Changes Made to Large-Scale Open Source Software
- Greatly reduces time needed to locate changes, leads to fast development of software -
Kawasaki, Japan, April 27, 2016 - Fujitsu Laboratories Ltd. today announced the development of technology to quickly identify changed locations in source code, such as added functions, to enable timely development using large scale open source software.
Open source software (OSS) can be easily used by anyone around the world, and its source code - what might be called its blueprints - can be repeatedly changed, adding and deleting functions, without detailed records of what was changed. In this situation, software developers working on OSS will often independently add their own changes along the way, as they see fit. Understanding where changes have been made in the OSS source code is a necessary, yet time-consuming process.
Fujitsu Laboratories has now developed a technology that can quickly compare changes in the source code by analyzing functions' call paths from the source code.
This technology was able to identify approximately 400 changed locations in a program with 3.8 million lines of code in about 1/4th of the time of existing source code text comparison methods.
Going forward, Fujitsu Laboratories expects that by quickly identifying changes in large-scale OSS, this technology will be useful in speeding up OSS development.
OSS is developed through collaborative work among developers around the world, and can be easily used by anyone. This means it is often actively used in developing software when quickly building a system to meet the needs of customers.
Because the source code is often changed by many developers, such as when adding features or fixing bugs, developers using OSS have a need to understand what parts have been changed as quickly as possible within their limited development period.
Figure 1: Use of open source software
http://www.fujitsu.com/global/Images/20160427-01al_tcm100-2586321.jpg
In development that uses OSS, even while changes are being made to the source code by a particular user, there are frequently many changes being made in parallel, such as additional functions and bug fixes, by numerous other open source developers. This means that a user needs to confirm the source code changes, before and after OSS changes, as relates to the source code that a user is working on.
Because these changes would have to be checked across tens of thousands of files of source code by text differences, or by visually checking the differences in the structure of related function calls, the process would require an enormous amount of work.
In addition, during manual, detailed checks of the source code, such as after identifying differences, an effective method is specifying part of the name of a function, while interactively narrowing down parts to check using a partial search function that displays candidates that match that part on a case-by-case basis. In large scale OSS, however, there are a huge number of functions that need to be checked, and there are many functions which share similar names, in particular method (function) names in classes, so the time taken for search processing was a problem.
Fujitsu Laboratories developed the following two technologies in order to efficiently check changes when large-scale OSS is updated.
1. Technology that quickly compares function call paths and displays them graphically When tracking changes in source code between different versions of the same software, there is a tendency to focus on the call path from a specific function.
Focusing on this issue, Fujitsu Laboratories developed a technology that, by comparing the differences between the two source code versions at each point on a function call path that starts from the specific function, greatly refines the targets for comparison and displays them graphically in a format that can be understood at a glance. This resulted in a 44% reduction of time required to extract differences, compared with existing combined comparisons.
Figure 2: Path comparison by location
http://www.fujitsu.com/global/Images/20160427-01bl_tcm100-2586323.jpg
2. Technology to efficiently find similar names Fujitsu Laboratories focused on the fact that in large-scale OSS, there are many functions with similar names. In input for function name search, by newly developing a data structure that enumerates and efficiently stores, in advance, the corresponding search results for various combinations of input characters, it was possible to search matches for those parts that had good responsiveness.
ฟูจิตสึพัฒนาเทคโนโลยีที่รวดเร็วติดตามการเปลี่ยนแปลงที่เกิดขึ้นกับเปิดแหล่งซอฟต์แวร์ขนาดใหญ่- ช่วยลดเวลาที่ใช้ในการค้นหา การเปลี่ยนแปลง นำไปสู่การพัฒนาอย่างรวดเร็วของซอฟต์แวร์คาวาซากิ , ญี่ปุ่น , 27 เมษายน 2016 - ฟูจิตสึห้องปฏิบัติการ จำกัด วันนี้ ประกาศการพัฒนาของเทคโนโลยีได้อย่างรวดเร็วระบุการเปลี่ยนแปลงสถานที่ในรหัสแหล่งที่มา เช่น ฟังก์ชั่นเสริมเพื่อช่วยให้พัฒนาทันใช้เปิดแหล่งซอฟต์แวร์ขนาดใหญ่ซอฟต์แวร์โอเพนซอร์ส ( OSS ) สามารถใช้งานได้ง่าย โดยทุกคนทั่วโลก และแหล่งของรหัส -- สิ่งที่อาจจะเรียกว่าพิมพ์เขียว - สามารถซ้ำเปลี่ยน , เพิ่มและลบฟังก์ชั่นโดยไม่ต้องบันทึกรายละเอียดของสิ่งที่มีการเปลี่ยนแปลง ในสถานการณ์นี้ , นักพัฒนาซอฟต์แวร์ที่ทำงานบนโอเอสมักจะอิสระเพิ่มของตัวเองเปลี่ยนแปลงไปตามทางที่พวกเขาเห็นพอดี เข้าใจการเปลี่ยนแปลงที่ได้ทำในสหรัฐอเมริการหัสแหล่งที่มาคือ ที่จำเป็น อีกทั้งกระบวนการฟูจิตสึห้องปฏิบัติการขณะนี้ได้พัฒนาเทคโนโลยีที่สามารถเปรียบเทียบการเปลี่ยนแปลงในรหัสที่มาโดยการวิเคราะห์ฟังก์ชันเรียกเส้นทางจากรหัสแหล่งที่มาเทคโนโลยีนี้สามารถระบุประมาณ 400 เปลี่ยนสถานที่ในโปรแกรมกับ 3.8 ล้านบรรทัดของรหัสในประมาณ 1 / 4 ของเวลาที่มีอยู่แหล่งที่มารหัสข้อความเปรียบเทียบวิธีไปข้างหน้า , ฟูจิตสึห้องปฏิบัติการโดยเร็ว คาดว่า การเปลี่ยนแปลงในสภาพแวดล้อมขนาดใหญ่ เทคโนโลยีนี้จะเป็นประโยชน์ในการเร่งการพัฒนา OSS< > พื้นหลังการพัฒนาลูกค้าจะได้รับการพัฒนาผ่านการทำงานร่วมกันของนักพัฒนาทั่วโลก และสามารถใช้โดยทุกคน ซึ่งหมายความว่ามันมักจะเป็นอย่างที่ใช้ในการพัฒนาซอฟต์แวร์ที่ได้อย่างรวดเร็วสร้างระบบเพื่อตอบสนองความต้องการของลูกค้าเพราะรหัสที่มามักจะเปลี่ยนแปลงโดยนักพัฒนามากมาย เช่น เมื่อมีการเพิ่มคุณสมบัติ หรือแก้ไขข้อบกพร่อง นักพัฒนาใช้ OSS จำเป็นต้องเข้าใจส่วนใดมีการเปลี่ยนแปลงโดยเร็วที่สุดภายในระยะเวลาการพัฒนา จำกัด ของพวกเขารูปที่ 1 : การใช้ซอฟต์แวร์โอเพนซอร์สhttp://www.fujitsu.com/global/images/20160427-01al_tcm100-2586321.jpg< > ปัญหาในการพัฒนาที่ใช้ OSS , แม้ในขณะที่การเปลี่ยนแปลงที่เป็นรหัสที่มาโดยผู้ใช้โดยเฉพาะมีการเปลี่ยนแปลงบ่อยมากในการกระทำแบบขนาน เช่น ฟังก์ชันเพิ่มเติมและการแก้ไขข้อผิดพลาด โดยเปิดแหล่งอื่น ๆ มากมาย นักพัฒนา ซึ่งหมายความว่าผู้ใช้ต้องยืนยันรหัสแหล่งที่มาการเปลี่ยนแปลงก่อนและหลังการเปลี่ยนแปลงสภาพแวดล้อมที่เกี่ยวข้องกับรหัสที่มาที่ผู้ใช้อยู่เพราะการเปลี่ยนแปลงเหล่านี้จะต้องมีการตรวจสอบข้ามนับพันของแฟ้มแหล่งที่มาของรหัสของความแตกต่างของข้อความหรือโดยการมองเห็นการตรวจสอบความแตกต่างในโครงสร้างที่เกี่ยวข้องกับการเรียกฟังก์ชันกระบวนการจะต้องมียอดเงินใหญ่หลวงของการทํางานนอกจากนี้ในคู่มือรายละเอียดการตรวจสอบของรหัสแหล่งที่มา เช่น หลังจากที่การระบุความแตกต่าง วิธีที่มีประสิทธิภาพคือการเป็นส่วนหนึ่งของชื่อของฟังก์ชัน ในขณะที่โต้ตอบให้แคบลง ส่วนการตรวจสอบการใช้บางส่วนของฟังก์ชันการค้นหาที่แสดงส่วนที่ผู้สมัครที่ตรงตามกรณี ในสหรัฐอเมริกา ขนาดใหญ่ อย่างไรก็ตาม มีตัวเลขขนาดใหญ่ของการทำงานที่ต้องตรวจสอบ และมีหลายฟังก์ชันที่ใช้ชื่อคล้ายกัน โดยเฉพาะวิธี ( ฟังก์ชัน ) ชื่อในชั้นเรียน ดังนั้นเวลาถ่ายการประมวลผลการค้นหาก็เป็นปัญหา< > ใหม่พัฒนาเทคโนโลยีฟูจิตสึห้องปฏิบัติการพัฒนาต่อไปนี้สองเทคโนโลยีเพื่อตรวจสอบการเปลี่ยนแปลงของสภาพแวดล้อมขนาดใหญ่ได้อย่างมีประสิทธิภาพเมื่อมีการปรับปรุง1 . เทคโนโลยีที่ได้อย่างรวดเร็วเปรียบเทียบฟังก์ชันเส้นทางโทรและแสดงพวกเขากราฟิกเมื่อติดตามการเปลี่ยนแปลงในรหัสแหล่งที่มาระหว่างรุ่นที่แตกต่างกันของซอฟต์แวร์เดียวกันมีแนวโน้มที่จะมุ่งเน้นไปที่เรียกเส้นทางจากการทำงานที่เฉพาะเจาะจงเน้นประเด็นนี้ฟูจิตสึห้องปฏิบัติการพัฒนาเทคโนโลยีดังกล่าว โดยการเปรียบเทียบความแตกต่างระหว่างสองแหล่งที่มาของรหัสรุ่นที่แต่ละจุดบนเส้นทางที่เริ่มต้นจากการเรียกใช้ฟังก์ชันการทำงานที่เฉพาะเจาะจงอย่างมากการกลั่นเป้าหมายเพื่อเปรียบเทียบและแสดงไว้ชัดเจนในรูปแบบที่สามารถเข้าใจได้ทันที นี้ส่งผลในการลดเวลา 44 % ต้องแยกความแตกต่างเมื่อเทียบกับการเปรียบเทียบรวมที่มีอยู่รูปที่ 2 : เส้นทางการเปรียบเทียบโดยสถานที่http://www.fujitsu.com/global/images/20160427-01bl_tcm100-2586323.jpg2 . เทคโนโลยีให้มีประสิทธิภาพ หาชื่อ ฟูจิตสึห้องปฏิบัติการเน้นความจริงที่ว่าใน OSS ขนาดใหญ่ , มีฟังก์ชันหลายฟังก์ชันที่มีชื่อคล้ายกัน ในการป้อนข้อมูลสำหรับฟังก์ชันการค้นหาชื่อ , โดยการพัฒนาใหม่เป็นโครงสร้างข้อมูลที่ระบุและมีประสิทธิภาพร้านค้าล่วงหน้า ที่การค้นหาสำหรับชุดต่าง ๆของตัวเข้ามันเป็นไปได้เพื่อค้นหารายการที่ตรงกันสำหรับส่วนที่ได้รับการตอบสนองที่ดี
การแปล กรุณารอสักครู่..
