Ngược lại, các đối tượng Loan2 và Loan3 không thể truy cập từ danh sách các khoản cho vay được tổ chức bởi Library1. Họ là những đối tượng tạm thời tạo ra để quản lý việc xóa một khoản vay (phương pháp returnDocument, dòng 70) và để kiểm tra sự tồn tại của một khoản vay giữa người sử dụng nhất định và một tài liệu | 32 2 The Object Flow Graph Object sensitivity According to the abstract syntax in Fig. class attributes method names program locations etc. are scoped at the class level. This means that it is possible to distinguish two locations . two class attributes when they belong to different classes while this cannot be done when they belong to the same class but to different class instances objects . In other words the OFG constructed according to the rules given in Section is object insensitive. While this may be satisfactory for some analyses in some cases the ability to distinguish among locations that belong to different objects might improve the analysis results substantially. An object sensitive OFG can be built by giving all non-static program names an object scope instead of a class scope static attributes and program locations that belong to static methods maintain the class scope . Objects can be identified statically by their allocation points thus in an object sensitive OFG non-static class attributes and methods including their parameters and local variables are replicated for every statically identified object. Syntactically an object allocation point in the code is determined by statements of the kind 5 in Fig. . For each such allocation point an object identifier is created and all attributes and methods in the class of the allocated object are replicated for it. Replicated program locations become distinct nodes in the OFG. Construction of the OFG edges becomes more complicated when locations are object sensitive. For example in presence of method calls sources and targets of OFG edges can be determined only if the current object pointed to by this and the objects pointed by the reference variable used as invocation target are known. Chapter 4 provides the details of an algorithm to infer such an information. ----------------------------eLib example Let us consider two statements one from the method getUser line 141 and the other from .