Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
resarch:nlpa:preethaprelims [2015/08/04 11:48] preethac |
resarch:nlpa:preethaprelims [2016/06/23 00:32] (current) preethac |
||
---|---|---|---|
Line 1891: | Line 1891: | ||
\\ Margin should be 1 inch on left and right -done | \\ Margin should be 1 inch on left and right -done | ||
\\ Change verbs in project steps - done | \\ Change verbs in project steps - done | ||
- | \\ after first line cite quorum website, say how many blind prog are there(to be found somewhere in his website), refer to his paper. | + | \\ after first line cite quorum website, say how many blind prog are there(to be found somewhere in his website), refer to his paper.-done |
- | \\ at the end, before the reference, present a summary of results , how it would help programmers,etc | + | \\ at the end, before the reference, present a summary of results , how it would help programmers,etc-done |
+ | \\ Sent for 2nd review to Dr. Pollock. | ||
+ | \\ Added Sakai site for PhD Prelims. | ||
**Application on Quorum:** | **Application on Quorum:** | ||
Line 2080: | Line 2082: | ||
Block Inside Loop Statement: textname=ToText(index)ifnamenot=undefinedkeyNames:put(index,index)end | Block Inside Loop Statement: textname=ToText(index)ifnamenot=undefinedkeyNames:put(index,index)end | ||
+ | Update on Aug 18,2015: | ||
+ | \\ Code (to generate feature vectors and identify action from a Quorum sample code) is ready. | ||
+ | \\ Next step is to do further testing on the code for accuracy - Completed | ||
+ | \\ **Results - Testing of tool on identified Quorum loop-ifs:** | ||
+ | |||
+ | |||
+ | * Feature Vector: F1:1, F2:0, F3:0, F4:2, F5:4, F6:0, F7:0, F8:2 | ||
+ | * Action Identified: find | ||
+ | * Feature Vector: F1:5, F2:1, F3:0, F4:2, F5:0, F6:0, F7:0, F8:2 | ||
+ | * Action Identified: get | ||
+ | * Feature Vector: F1:1, F2:0, F3:0, F4:2, F5:0, F6:0, F7:0, F8:2 | ||
+ | * Action Identified: could not be identified(no entry in action identification table) | ||
+ | * Feature Vector: F1:5, F2:ResolveAllTypes(), F3:0, F4:2, F5:0, F6:0, F7:0, F8:2 | ||
+ | * Action Identified: not identified as method name not listed in action identification table | ||
+ | * Feature Vector: F1:4, F2:ResolveClass(), F3:0, F4:2, F5:0, F6:0, F7:0, F8:2 | ||
+ | * Action Identified: Not identified as method name not listed in action identification table | ||
+ | * Feature Vector: 1,0,0,2,0,0,0,2 Action Identified: not identified | ||
+ | * Feature Vector: F1:1, F2:0, F3:0, F4:2, F5:0, F6:0, F7:0, F8:2 | ||
+ | * Action Identified: Not identified(no entry in action identification table) | ||
+ | * Feature Vector: F1:5, F2:VisitLocalVariable(), F3:0, F4:2, F5:0, F6:0, F7:0, F8:2 | ||
+ | * Action Identified: Not identified(as method name not listed in action identification model) | ||
+ | * Feature Vector: F1:1, F2:0, F3:0, F4:2, F5:0, F6:0, F7:0, F8:2 | ||
+ | * Action Identified: Not identified(no entry in action identification table) | ||
+ | * Feature Vector: F1:1, F2:0, F3:0, F4:0, F5:0, F6:0, F7:0, F8:2 | ||
+ | * Action Identified: Not identified (no entry in action identification table) | ||
+ | * Multiple ifs, loop discarded. | ||
+ | * Feature Vector: F1:5, F2:1, F3:0, F4:2, F5:0, F6:0, F7:0, F8:2 | ||
+ | * Action Identified: get | ||
+ | * Feature Vector: F1:5, F2:AssignBytecodeLocations(), F3:0, F4:2, F5:0, F6:0, F7:0, F8:2 | ||
+ | * Action Identified: not identified | ||
+ | * Feature Vector: F1:5, F2:1, F3:0, F4:2, F5:0, F6:0, F7:0, F8:2 | ||
+ | * Action Identified: get | ||
+ | * Feature Vector: F1:5, F2:1, F3:0, F4:2, F5:0, F6:0, F7:0, F8:1 (as we consider only the if loop and it's last statement) | ||
+ | * Action Identified: get | ||
+ | * Feature Vector: F1:5, F2:VisitEnd(), F3:0, F4:2, F5:0, F6:0, F7:0, F8:2 | ||
+ | * Action Identified: cannot be determined as method name not listed in action identification table | ||
+ | * Feature Vector: F1:4, F2:WriteParentActionBytecode(), F3:0, F4:2, F5:0, F6:1, F7:0, F8:2 | ||
+ | * Action Identified: cannot be determined as method name not listed in action identification table | ||
+ | * Feature Vector: F1:5, F2:VisitEnd(), F3:0, F4:2, F5:0, F6:0, F7:0, F8:2 | ||
+ | * Action Identified: cannot be determined as method name not listed in action identification table | ||
+ | * Feature Vector: F1:5, F2: undefined, F3:0, F4:2, F5:0, F6:0, F7:0, F8:2 | ||
+ | * Action Identified: cannot be determined | ||
+ | * Feature Vector: F1:1, F2:0, F3:0, F4:2, F5:0, F6:0, F7:0, F8:2 | ||
+ | * Action Identified: not identified as corresponding entry not found in action identification table | ||
+ | * Feature Vector: F1:1, F2:0, F3:0, F4:0, F5:0, F6:0, F7:0, F8:1 | ||
+ | * Action Identified: not identified | ||
+ | * Feature Vector: F1:5, F2:1, F3:0, F4:0, F5:0, F6:0, F7:0, F8:2 | ||
+ | * Action Identified: Not identified | ||
+ | * Feature Vector: F1:0, F2:0, F3:0, F4:0, F5:3, F6:0, F7:0, F8:2 | ||
+ | * Action Identified: determine | ||
+ | * Feature Vector: F1:4, F2:5, F3:0, F4:1, F5:3, F6:0, F7:0, F8:2 | ||
+ | * Action Identified: could not be identified | ||
+ | * Feature Vector: F1:3, F2:0, F3:0, F4:0, F5:0, F6:0, F7:0, F8:2 | ||
+ | * Action Identified: could not be identified | ||
+ | * Feature Vector: F1:0, F2:0, F3:0, F4:0, F5:4, F6:1, F7:0, F8:2 | ||
+ | * Action Identified: find | ||
+ | * Feature Vector: F1:0, F2:0, F3:0, F4:0, F5:3, F6:1, F7:0, F8:2 | ||
+ | * Action Identified: determine | ||
+ | * Feature Vector: F1:6, F2:0, F3:0, F4:0, F5:0, F6:0, F7:0, F8:2 | ||
+ | * Action Identified: determine | ||
+ | * Feature Vector: F1:6, F2:0, F3:0, F4:0, F5:0, F6:0, F7:0, F8:2 | ||
+ | * Action Identified: determine | ||
+ | * Feature Vector: F1:0, F2:0, F3:0, F4:0, F5:3, F6:0, F7:0, F8:2 | ||
+ | * Action Identified: determine | ||
+ | * (a) Feature Vector: F1:4, F2:5, F3:0, F4:1, F5:3, F6:0, F7:0, F8:2 | ||
+ | * Action Identified: not identified (b) Feature Vector: F1:6, F2:0, F3:0, F4:0, F5:0, F6:0, F7:0, F8:2 Action Identified: determine | ||
+ | * Feature Vector: F1:0, F2:0, F3:0, F4:0, F5:3, F6:0, F7:0, F8:2 | ||
+ | * Action Identified: determine | ||
+ | * Feature Vector: F1:1, F2:0, F3:0, F4:2, F5:4, F6:0, F7:0, F8:2 | ||
+ | * Action Identified: find | ||
+ | * Feature Vector: F1:0, F2:0, F3:0, F4:0, F5:3, F6:0, F7:0, F8:2 | ||
+ | * Action Identified: determine | ||
+ | * Feature Vector: F1:0, F2:0, F3:0, F4:0, F5:3, F6:0, F7:0, F8:2 | ||
+ | * Action Identified: determine | ||
+ | * Feature Vector: F1:0, F2:0, F3:0, F4:0, F5:4, F6:0, F7:0, F8:2 | ||
+ | * Action Identified: find. | ||
+ | * Feature Vector: F1:0, F2:0, F3:0, F4:0, F5:4, F6:0, F7:0, F8:2 | ||
+ | * Action Identified: find | ||
+ | * Feature Vector: F1:5, F2:3, F3:0, F4:1, F5:0, F6:0, F7:0, F8:2 | ||
+ | * Action Identified: not identified | ||
+ | * | ||
+ | \\ **Outline of prelims report** | ||
+ | \\ 1. Introduction | ||
+ | \\ 2. Contributions | ||
+ | \\ 3. "Developing of Model of Loop Actions" | ||
+ | \\ Cite Xiaoran's paper, Summary of that paper, can use Fig:1 from that paper and the limitations of the model | ||
+ | \\ 4. Quorum Language | ||
+ | \\ Introduction, Loop Structures | ||
+ | \\ 5. Java to Quorum(Something like that) | ||
+ | \\ In general how to do | ||
+ | \\ Challenges in doing this for Quorum | ||
+ | \\ Research Process/Methodology - Examples, Algorithms, Pictures, ANTLR-how used, parse trees, what changes for each feature vector-syntactic or semantic | ||
+ | \\ 6. Results- Accuracy, evaluation by Xiaoran(author of that paper) | ||
+ | \\ 7. Discussion - Implications of results, how general is the process, how easy to apply to other languages. | ||
+ | \\ 8. Threats to Validity(My limitations of this project) | ||
+ | \\ Less no. of Quorum programs | ||
+ | \\ Less variety of loops | ||
+ | \\ Code form developers of Quorum is used, other programmers' code not available yet. | ||
+ | \\ To minimize the threats:- | ||
+ | \\ a. Collected as many Quorum loops as possible. | ||
+ | \\ b. Real code examples are used, and not sample ones. | ||
+ | \\ c.Could be a future work- to check how our tool works on unseen code from other programmers. | ||
+ | |||
+ | \\ As per department instructions - The written report should not exceed 20 pages in length, and should be structured as a scientific publication, including: Title, Abstract, Introduction, Related Work, appropriate sections that describe the work conducted, the methods used and the results obtained, followed by Analysis/Conclusions and Future Work. The report must also contain a bibliography which is not included in the 20 pages length limit. The first page of the report must include the student name, the title of the work, and the names of the advisor and the committee member. | ||
+ | |||
+ | \\ Tested the tool on standard library test files (This is separate from the initial set of loop-ifs used for the project) | ||
+ | \\ Out of identified 13 loop-ifs, actions were identified for 3 loop-ifs- all three were MAX/MIN. | ||
+ | \\ For rest of the 10 loop-ifs, no actions were identified. | ||
+ | \\ Details of loop code and feature vector values attached.{{:resarch:nlpa:testing_the_tool_on_standard_library_test_files.pdf|}} | ||
+ | |||
+ | [[https://bitbucket.org/udsenlpa/quorum_actionunit_identifier/wiki/Home|Bitbucket Link to Source Code]] |