Data dependency and Data flow Models

Learning Objectives

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/83b66c78-aa19-42d2-b207-0e46dfa82697/Untitled.png

1. 왜 Data Flow Model?

2. 기본 용어

  1. Definition Use Pairs

: 특정 variable이 어디서 정의되고 어디서 사용되는지 나타냄

x:(15L, 17L) // x가 15라인에서 정의되고 17라인에서 사용됨

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/cb0d1277-8df7-4411-8164-872ca1798f37/Untitled.png

  1. Definition clear path

: definition과 usage 사이에 어떤 다른 것도 없는 것. (가장 최신 definition을 살려두고 이전 것은 kill한다.)

3. (Direct) Data Dependence Graph

: 이 value가 어디로부터 왔니?

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/7a37e80a-a986-48ea-9933-a37ed275aec3/Untitled.png

4. Control Dependence Graph

: 어떤 statement가 실행 여부를 결정하니?

C,D,E는 B에 dependent하고 / B,F는 A에 dependent 하다.

C,D,E는 B에 dependent하고 / B,F는 A에 dependent 하다.

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/9419af40-5c9b-471e-81c0-b20064c4504b/Untitled.png

5. Data Flow Analysis

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/80664960-cbe5-40b8-b1ca-113301b658bd/Untitled.png

Summary

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/9d8bbf66-0cfa-4704-be4c-05de4f1efbb3/Untitled.png