Skip to main content

กราฟโฟลว์ควบคุมคืออะไร?

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

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

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

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

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