Hi Daniel, That is great. Welcome! And I believe you can discuss directly with the project mentor as well, which will be more efficient and help you understand the problem better.
2010/4/3 Daniel Gong <daniel.gong.fu...@gmail.com> > Hello everyone, > > Last year I've worked as a gsoc student in Harmony and learned a lot > during the project. I'm eager to participate gsoc 2010 and looking forward > to working in Harmony as well :) > > I've submit my proposal to the gsoc project website. For your > convenience, I'd like to post it here and discuss it with you. I've skimmed > through the document of JPDA and I'm currently read some jdwp source code > to > get familiar with the logging system. > > ===================================================================== > > *Student Name:* > > Linghui Gong > > *Student E-mail:* > > daniel.gong.fu...@gmail.com > > *Student Major:* > > Computer Science > > *Student Degree:* > > Studying for Master of Science Degree, 2nd year > > *Organization/Project:* > > Harmony Project, The Apache Software Foundation > > *Assigned Mentor:* > > Sean Qiu > > *Proposal Abstract:* > > The aim of the project is trying to enhance harmony's jdwp log system to > facilitate jdwp debugging by adding support of thread information and > implementing a log analyzer to sort log messages according to user demands > and find out bug-prone message. > > *Detailed Description:* > > Harmony current JDWP agent have full logging functionality. But all log > messages are messed up regardless of its running thread information. > > On the other hand, Harmony JDWP support a lot of types log level, user need > to rerun the appilcation to get different type of log. It would be much > convenient if we have a log analyzer to help sort out log messages, then we > can only need get the all log message. > > This project should include the following steps: > 1. Modify the jdwp agent code to support thread information in the log. > 2. Implement a log analyzer that can sort out different kind of log > messages > according to user demands. > 3. Improve the log analyzer to make it enable to analyze the log message > sequence with context and find out bug-prone log message. > > I've read part of the jdwp source code and I believe the first two steps > are > not difficult to implement. The last step is a challenging one. > > In my understanding, some messages may be judged as bug-prone one only with > information from itself and others may need context to decide, which > indicates that sequence analysis should be included in the analyzer. > Methods > such as rule-based classification or heuristic pattern recognition can be > employed to accomplish the task. In my experience, I've used > CRF(Conditional > Random Fields) to analyze sentences and tag words and phrases. It works > well. However, currently I'm not very sure that this is the best choice for > this project. Several literature I've read claimed that rule-based > classification costs less but is more adjustable and gives decent result. I > need to do more investigating. > > *Draft Timeline* > > - Week 1 Read and understand the JDWP logging related code; > - Week 2 Read and get familiar with the JDWP and JVMTI document; > - Week 3-4 Complete the thread information support; > - Week 5-6 Implement the log analyzer initial version with log sorting > functionality; > - Week 7-10 Add the bug-prone message judgement functionality to the > analyzer; > - Week 11 Fix all bugs left and complete the documentian work. > > *Available Time* > > - Generally, I have 14~16 hours per week in average guaranteed working on > the subject. > - I'm a 2nd year graduate student and do not have any classes or exams to > attend, which allow me to have enough time to complete the project. > > *Additional Information:* > > I've been learning and using Java since 4 years ago. In the past I've > complete several projects based on java, including a mini library > management > system, a text stream clustering system, a search engine project based on > Apache Lucene. I've got rich experience of Java language, programming and > debugging from them. > > Last year I've participated in Google Summer of Code and successfully > accomplished the harmony-classes-selector project of Harmony under the > mentoring of Regis. In the project, I came across JVMTI in the first time > and built an agent for the project. As a result, I became very interested > in > Java runtime technology and I've learned and got to know more knowledge in > this area including Java class file format, instrumentation, JPDA and so > on. > > I believe these professional knowledge and my other knowledge in > programming > and software architecture can help me to learn fast and handle the problem. > > I'm 24 years old, living in Shanghai, China, studying in Fudan University. > > ===================================================================== > Thanks for your attention! > > Best wishes > Daniel Gong > -- Best Regards, -------------------- Lv Jing Apache Harmony PMC IBM CDL