Matches in SemOpenAlex for { <https://semopenalex.org/work/W2355272004> ?p ?o ?g. }
Showing items 1 to 59 of
59
with 100 items per page.
- W2355272004 abstract "A major advantage of object oriented languages is abstraction. The most important language feature that supports abstraction is the dynamic dispatch of methods based on the run time type of an object. In dynamically typed language like Smalltalk and SELF, all dispatches are considered dynamic, and eliminating these dynamic dispatches that has been essential to obtain high performance. In statically typed language, such as C++ , virtual function call is a both important and complicated problem, and programmers must explicitly request dynamic dispatch by declaring a method to be virtual. Virtual functions make code easier for programmers to reuse. But virtual function call makes it harder to analyze or understand C++ programs. We think there are at least 3 reasons: first, C++ programs suffer less of an initial performance penalty, at the cost of reduced flexibility and increased programmer effort in the presence of virtual function call. Second, if every potential target of a virtual function call is included in the call graph, the user will face with a vastly larger space of object types and functions that must be comprehended to understand the meaning of the program as a whole. Third, because of the existence of inheritance relationship (especially multiple inheritance relationship), all classes in a program form a complicated class hierarchy structure. We represent such structure with class hierarchy graph (CHG). Methods defined in some class can be either visible or invisible in its corresponding class node in CHG. We use visible method class hierarchy graph (VM CHG) to represent such CHG. Some child classes inherit their parent class' method; others override their parent class' method. We use inherit set to represent the set of classes that inherit their parent class' method, and override set to represent the set of classes that override their parent class' method. If some class has many base (or parent) classes and these base classes have only one super base class, it is hard to determine the inherited method by the derived class belongs to which base class or which version of super base class. In this paper, we present an approach for constructing VFCG in statically typed object oriented language so as to understand virtual function call easily. First,VM CHG is constructed to represent class hierarchy relationship between objects where method defined or inherited is visible. Then, inherit set (which represents the union of the set of classes that inherit a particular class' method m and the particular class that defines the method m) and override set(representing the set of classes that override a particular class' method)are computed, and override frontier is also determined by having computed inherit set and override set. Finally, VFCG is constructed with VM CHG and override frontier. On the other hand, we present all algorithms for constructing VM CHG, computing inherit set and override set, determining override frontier, and creating VFCG. Meantime, we discuss the importance of VFCG in resolving static object oriented virtual function call." @default.
- W2355272004 created "2016-06-24" @default.
- W2355272004 creator A5080300919 @default.
- W2355272004 date "2000-01-01" @default.
- W2355272004 modified "2023-09-23" @default.
- W2355272004 title "AN APPROACH FOR CONSTRUCTING VFCG IN STATICALLY-TYPED OBJECT-ORIENTED LANGUAGE" @default.
- W2355272004 hasPublicationYear "2000" @default.
- W2355272004 type Work @default.
- W2355272004 sameAs 2355272004 @default.
- W2355272004 citedByCount "0" @default.
- W2355272004 crossrefType "journal-article" @default.
- W2355272004 hasAuthorship W2355272004A5080300919 @default.
- W2355272004 hasConcept C102379954 @default.
- W2355272004 hasConcept C132525143 @default.
- W2355272004 hasConcept C154945302 @default.
- W2355272004 hasConcept C199360897 @default.
- W2355272004 hasConcept C25344961 @default.
- W2355272004 hasConcept C2777212361 @default.
- W2355272004 hasConcept C2778514511 @default.
- W2355272004 hasConcept C2781289151 @default.
- W2355272004 hasConcept C41008148 @default.
- W2355272004 hasConcept C73752529 @default.
- W2355272004 hasConcept C80444323 @default.
- W2355272004 hasConceptScore W2355272004C102379954 @default.
- W2355272004 hasConceptScore W2355272004C132525143 @default.
- W2355272004 hasConceptScore W2355272004C154945302 @default.
- W2355272004 hasConceptScore W2355272004C199360897 @default.
- W2355272004 hasConceptScore W2355272004C25344961 @default.
- W2355272004 hasConceptScore W2355272004C2777212361 @default.
- W2355272004 hasConceptScore W2355272004C2778514511 @default.
- W2355272004 hasConceptScore W2355272004C2781289151 @default.
- W2355272004 hasConceptScore W2355272004C41008148 @default.
- W2355272004 hasConceptScore W2355272004C73752529 @default.
- W2355272004 hasConceptScore W2355272004C80444323 @default.
- W2355272004 hasOpenAccess W2355272004 @default.
- W2355272004 hasRelatedWork W1486843819 @default.
- W2355272004 hasRelatedWork W1579220051 @default.
- W2355272004 hasRelatedWork W1582143858 @default.
- W2355272004 hasRelatedWork W1610722504 @default.
- W2355272004 hasRelatedWork W1847970355 @default.
- W2355272004 hasRelatedWork W1911552335 @default.
- W2355272004 hasRelatedWork W1999893446 @default.
- W2355272004 hasRelatedWork W2037679409 @default.
- W2355272004 hasRelatedWork W2046915826 @default.
- W2355272004 hasRelatedWork W2056111554 @default.
- W2355272004 hasRelatedWork W2097953797 @default.
- W2355272004 hasRelatedWork W2189498702 @default.
- W2355272004 hasRelatedWork W2340148237 @default.
- W2355272004 hasRelatedWork W2404859730 @default.
- W2355272004 hasRelatedWork W2912190052 @default.
- W2355272004 hasRelatedWork W2960197320 @default.
- W2355272004 hasRelatedWork W3145304623 @default.
- W2355272004 hasRelatedWork W4084334 @default.
- W2355272004 hasRelatedWork W1912216278 @default.
- W2355272004 hasRelatedWork W2754835890 @default.
- W2355272004 isParatext "false" @default.
- W2355272004 isRetracted "false" @default.
- W2355272004 magId "2355272004" @default.
- W2355272004 workType "article" @default.