Regarding GSOC 2016 for Strace (Project Title-STRUCTURED OUTPUT)

Mohit Kumra mohitkumra95 at gmail.com
Fri Apr 8 15:43:50 UTC 2016


Reference: to the mail on 25th of March 2016

This is to bring to your notice that I have applied for GSOC 2016 with
Project Title-STRUCTURED OUTPUT for ORG:STRACE, under your Mentorship.

Kindly provide with the technologies to be used and a brief description of
the work to be done.So that I could start working on the Project right away
and showcase you the basic layout and some constructive work for the
Project.With this you will be able to decide whether you would consider
opting me for the Project.

We can have a Skype session if you would feel suitable for an interactive
session.

Link to Application:
https://docs.google.com/document/d/1PTEWdK5UAQwPy3jzqNTftG4CoAxGJ0iw4W1-eBpGUQs/edit?usp=sharing


On Fri, Mar 25, 2016 at 5:11 PM, Mohit Kumra (via Google Docs) <
mohitkumra95 at gmail.com> wrote:

> Mohit Kumra <mohitkumra95 at gmail.com> has invited you to *comment on* the
> following document:
> GSOC_2016_STRUCTURED_OUTPUT
> <https://docs.google.com/document/d/1PTEWdK5UAQwPy3jzqNTftG4CoAxGJ0iw4W1-eBpGUQs/edit?usp=sharing_eid&ts=56f523cc>
> [image: Sender's profile photo]I am extremely interested in working for
> the Structured Output project from Strace. I am proficient in working
> knowledge for this project and wish to work for it.
> It is requested to review the proposal for the GSOC_2016.
>
> Thank you for the consideration.A quick reply is appreciated.
> Open in Docs
> <https://docs.google.com/document/d/1PTEWdK5UAQwPy3jzqNTftG4CoAxGJ0iw4W1-eBpGUQs/edit?usp=sharing_eid&ts=56f523cd>
> Snapshot of the item below:
>
> STRUCTURED OUTPUT
>
> ORG:STRACE
>
> MARCH 24th 2016
>
> MENTOR: Philippe Ombredanne
>
> STUDENT NAME: MOHIT KUMRA
>
> Country of residence:India(Timezone:Kolkata,India)
>
> Primary Language:English,Hindi
>
> EMAIL: mohitkumra95 at gmail.com
>
> TITLE: Structured output from Strace Parser
>
> DATE:24th MARCH 2016
>
> ABSTRACT :
>
> I propose to establish/develop a new option for a structured output in
> JSON or similar parsers used to parse the Strace’s output. It is
> difficult to parse the output that we get from Strace thus JSON provides a
> well structured output (which is  better than the classical). My goal is to
> make a new feature or try to establish an interface/interconnection to
> strace that could support the output from JSON to be used readily. By doing
> so,I would be able to help trace users write less error prone code and
> make strace easier to adopt.In my method. I will refactor the currently
> output-related code in strace and then try to develop a interface/feature
> that could ensure the handling of the output from JSON to be in alignment
> with the Strace.
>
>
>
> SYNOPSIS:
>
> Strace is a diagnostic, debugging and instructional userspace utility for
> Linux. It is used to monitor interactions between processes and the Linux
> kernel, which include system calls, signal deliveries, and changes of
> process state.
>
> I would recommend to work on the STRUCTURED OUTPUT project under the
> guidance of Philippe Ombredanne.I am proficient in C,C++,Java and have
> started with Python as well.Apart from knowledge of UI design(Front and
> Back end),I have experience of working with the Linux systems.I am
> undertaking a subject of System and Programming lab that adds on to my
> advantage of working on this project.I have been working on various
> projects at college level and I am confident to provide a valuable
> contribution to this project as well.I got to know about Strace when I was
> studying debugging.
>
> I was fascinated by the working of the Strace and I am extremely
> interested to work on this project.
>
> I propose to develop an interface/feature for the structured output in
> JSON to be readily used through Strace so that trace users write less
> error prone code and make strace easier to adopt.My approach would be to
> refactor the output code in strace(for example- I would work on this type
> of output:[a][b][c][d][e][f][g][h]
> https://aboutthebird.wordpress.com/2013/03/02/interpreting-the-output-of-strace-line-by-line/
> <https://www.google.com/url?q=https://aboutthebird.wordpress.com/2013/03/02/interpreting-the-output-of-strace-line-by-line/&sa=D&ust=1458909660250000&usg=AFQjCNHQCcWMMoqAsiAylUC7nIXv6iJxHA>)
> and then develop the feature that supports the output from JSON(refer:[i]
> [j][k][l][m][n][o][p]http://json.org/example.html
> <https://www.google.com/url?q=http://json.org/example.html&sa=D&ust=1458909660251000&usg=AFQjCNGb65iqqppqE2JfBXx01gQ03PHmaw>
> \) or similar parsers being supported by Strace.  [q][r][s][t][u][v][w][x]
>
> For this purpose, I referred these Links:
>
>    1. http://msgpack.org/
>    <https://www.google.com/url?q=http://msgpack.org/&sa=D&ust=1458909660253000&usg=AFQjCNE059GrXFfuv3w7uepytwgJQx8ZAA>
>    2. https://sourceforge.net/p/strace/mailman/message/32128252/
>    <https://www.google.com/url?q=https://sourceforge.net/p/strace/mailman/message/32128252/&sa=D&ust=1458909660254000&usg=AFQjCNHqJi3m8CSliMo0zph5aZWO8EXMJw>
>
> To understand the working of Strace and JSON I have referred these links:
>
>    1.
>    http://www.aboutlinux.info/2006/05/strace-very-powerful-troubleshooting.html
>    <https://www.google.com/url?q=http://www.aboutlinux.info/2006/05/strace-very-powerful-troubleshooting.html&sa=D&ust=1458909660255000&usg=AFQjCNFzU835_uFohWNTw7bsf9npe_cOjQ>
>    2. https://blog.cpanel.com/starting-with-strace/
>    <https://www.google.com/url?q=https://blog.cpanel.com/starting-with-strace/&sa=D&ust=1458909660256000&usg=AFQjCNGY2d9flFCegzcWct1XA3Vxaioowg>
>    3.
>    http://stackoverflow.com/questions/6334515/how-do-i-interpret-strace-output
>    <https://www.google.com/url?q=http://stackoverflow.com/questions/6334515/how-do-i-interpret-strace-output&sa=D&ust=1458909660257000&usg=AFQjCNEmcdQ_bnQxn4z9heB27uZ8cImX0A>
>    4. http://json.org/example.html
>    <https://www.google.com/url?q=http://json.org/example.html&sa=D&ust=1458909660258000&usg=AFQjCNFaQ7DFs4p0NqP1MYv2JigquA94pA>
>    \
>
> For the time being I have started reading the previous code from:
>
>
> http://www.google-melange.com/gsoc/project/details/google/gsoc2014/zym0017d/5676830073815
> <https://www.google.com/url?q=http://www.google-melange.com/gsoc/project/details/google/gsoc2014/zym0017d/5676830073815040&sa=D&ust=1458909660259000&usg=AFQjCNFx0mv-pucuFXCfV_2JH0mmhaLiYw>
>
> 040
> <https://www.google.com/url?q=http://www.google-melange.com/gsoc/project/details/google/gsoc2014/zym0017d/5676830073815040&sa=D&ust=1458909660260000&usg=AFQjCNEB8b8NDHbwHtG9uycTCWEXXbKZVg>
>
> Code Sample:
>
>         I do not have working(advance) knowledge of Strace and JSON but I
> have started practising,
>
> For these samples,I referred the internet and implemented them on my
> system.
>
>    1. Trace the Execution of an Executable
>
>
>    1. $  strace ls
>    execve("/bin/ls", ["ls"], [/* 21 vars */]) = 0
>    brk(0)                                  = 0x8c31000
>    access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or
>    directory)
>    mmap2(NULL, 8192, PROT_READ, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) =
>    0xb78c7000
>    access("/etc/ld.so.preload", R_OK)      = -1 ENOENT (No such file or
>    directory)
>    open("/etc/ld.so.cache", O_RDONLY)      = 3
>    fstat64(3, {st_mode=S_IFREG|0644, st_size=65354, ...}) =
>
> This
>
>    1. Saving the Strace O/P to a file:
>
>
>    1. $ strace -o output.txt ls
>    $ cat output.txt
>    execve("/bin/ls", ["ls"], [/* 37 vars */]) = 0
>    brk(0)                                  = 0x8637000
>    access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or
>    directory)
>    mmap2(NULL, 8192, PROT_READ, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) =
>    0xb7860000
>    access("/etc/ld.so.preload", R_OK)      = -1 ENOENT (No such file or
>    directory)
>    open("/etc/ld.so.cache", O_RDONLY)      = 3
>    fstat64(3, {st_mode=S_IFREG|0644, st_size=67188, ...}) = 0
>
> 3, Execute Strace
>
>    1. $ ps -C Mohit-bin
>     PID TTY          TIME CMD
>    1225 ?        00:16:50 Mohit-bin
>
> Also,to display Strace o/p
>
> $  sudo strace -p 1725 -o Mohit_1.txt[y]
>
> For the JSON O/P
>
>
>    1. Output from JSON
>            a .        {"menu": {
>                     "id": "file",
>                     "value": "File",
>                     "popup": {
>                       "menuitem": [
>                         {"value": "New", "onclick": "CreateNewDoc()"},
>                         {"value": "Open", "onclick": "OpenDoc()"},
>                         {"value": "Close", "onclick": "CloseDoc()"}
>                       ]
>                     }
>            }}
>    2. Expressed as XML content
>
>
>    1. <menu id="file" value="File">
>     <popup>
>       <menuitem value="New" onclick="CreateNewDoc()" />
>       <menuitem value="Open" onclick="OpenDoc()" />
>       <menuitem value="Close" onclick="CloseDoc()" />
>     </popup>
>    </menu>[z]
>
>  More to this is on this link;
> http://permalink.gmane.org/gmane.comp.sysutils.strace.devel/3911
> <https://www.google.com/url?q=http://permalink.gmane.org/gmane.comp.sysutils.strace.devel/3911&sa=D&ust=1458909660268000&usg=AFQjCNHLfSmYr9lfmxGK4ht0P_OUkcxXCQ>
>
> I have started understanding the code of Strace and JSON but require some
> time to implement it for this project.I will achieve the working knowledge
> uptill community bonding period or uptill the developmental work starts.
>
> The Project:
>
> Strace lists all system calls done by the process it's applied to.When
> strace is run in conjunction with a program, it outputs all the calls made
> to the kernel by the program.
>
> Road Map:
>
> For Project Development, following steps would be followed:
>
> 1. Review: On acceptance of the proposal for the project I would review
> the code provided by the Mentor and try to analyse and familiarize with the
> Data elements being used in the code. (May 23rd - May 30th 2016)
>
> 2. Refactor: After reviewing the code, I will use my skillset for
> refactoring the code. Thus making the code more efficient and effective in
> terms of complexity as much as possible.The refactored code would then be
> depicting the output from Strace in a less complex manner. (June 2016)
>
> 3. Develop: Parallel to refactoring the code I would deduce(June
> 20th-June 27th) and implement a methodology (June 28th-July10th) for
> making the necessary changes to the code.so that the Structured output
> from JSON and Strace align at one place.The development of the feature that
> could make the interaction of JSON output and Strace easier. (June 20th -
> July 15th 2016 )
>
> Design Strategy:
>
> I would be analysing both the output from JSON and Strace to see if any
> similarity occurs in between.Developing a bridge tool between the two would
> help me achieve my goal for this project.I would save the output from the
> Strace into another file using (strace -o echo1.txt) command that could
> write the output in the echo.txt file then I would try to establish a
> connection of parsing this output file with that of the JSON/similar parser
> output files.If I will be able to get a relation it would help me
> developing the Bridge tool/feature which will solve the problem for this
> project.I will consistently share the updates with the Mentor. Consistently
> sharing my changes with the Mentor would allow me to keep a check on the
> changes been done and changes yet to be made.[aa][ab]
>
> This approach is advantageous as it would furthermore result in
> refactoring the existing version of the code and making it more efficient
> and bug free.Also the interrelation between the JSOn output and the
> Strace’s Output would help in deducing a methodology to develop a
> supporting feature for the project.
>
> 4.  Debug: This phase would include debugging the developed code so far
> and then eliminating the presence of any bug in the code.It would require
> communaiction with the Mentor(11th -12th July) and then implementing the
> neccessary changes  so that the bugs encountered can easily be debugged.(15th
> July-20thJuly)
>
> 5. Reconcile: On achieving the goal of the Project I would Reconcile the
> work and provide the Mentor with all possible updates and features of the
> development with the documentation that enlists the changes been made to
> the original code and all the capabilities and restrictions of the new
> feature developed.(Last week of July- August 2016)
>
> Conclusion:
>
> When the Project would achieve the goals it would be suitable for
> implementation to the system. The feature/bridge tool developed that
> could act as solution for the output from JSON to be aligned with Strace so
> that the users can adopt to the use of Strace more often would work
> optimally.[ac][ad]
>
> Commitments:
>
> Do you have any other commitments during the main GSoC time period, May
> 23rd to August 23rd?
>
> ->I would have few examinations from 1st June uptill 10th June 2016 but I
> propose to work on daily basis.After 10th June I commit to work with
> complete determination solely for the project without any interruption.I
> would require the help of Mentor every now and then and promise to complete
> my work ethically and following the guidelines for the Project.
>
> Link to resume:
> https://drive.google.com/file/d/0B7RrMabDB-4FU3VURDBMUlprU3M/view?usp=sharing
> <https://www.google.com/url?q=https://drive.google.com/file/d/0B7RrMabDB-4FU3VURDBMUlprU3M/view?usp%3Dsharing&sa=D&ust=1458909660285000&usg=AFQjCNEM7iUnGo__q32FQW8uC18B23Fw8Q>
>
> University info:
>
>    - University Name: JAYPEE INSTITUTE OF INFORMATION TECHNOLOGY
>
>
>    - Major:COMPUTER SCIENCE ENGINEERING
>    - Current Year and Expected Graduation date: 3rd YEAR & 31-06-2017
>    - Degree (e.g. BSc, PhD):B.Tech
>
> [a]Please provide actual technical and updated architecture details on
> your approach. And also how would you go about organizing patches
> submissions.
>
> [b]sir you can refer these links
>
> I have started practising and coding
>
> for the project for deducing a methodology as early as possible.
>
> My aim is to get it Before community bonding.
>
> [c]Also,please refer the Road map for complete approach of the project.
>
> [d]Do refer Design Strategy in the Develop phase of the Road Map
>
> [e]_Marked as resolved_
>
> [f]_Re-opened_
>
> [g]I would like to see actual technical details with code examples, not
> links and general strategy
>
> [h]Do refer Design Strategy in the Develop phase of the Road Map,
>
> This would explain my method of planing doing things for this project
>
> [i]Please provide actual technical and updated architecture details on
> your approach. And also how would you go about organizing patches
> submissions.
>
> [j]sir you can refer these links
>
> I have started practising and coding
>
> for the project for deducing a methodology as early as possible.
>
> My aim is to get it Before community bonding.
>
> [k]Also,please refer the Road map for complete approach of the project.
>
> [l]Do refer Design Strategy in the Develop phase of the Road Map
>
> [m]_Marked as resolved_
>
> [n]_Re-opened_
>
> [o]I would like to see actual technical details with code examples, not
> links and general strategy
>
> [p]Do refer Design Strategy in the Develop phase of the Road Map,
>
> This would explain my method of planing doing things for this project
>
> [q]Please provide actual technical and updated architecture details on
> your approach. And also how would you go about organizing patches
> submissions.
>
> [r]sir you can refer these links
>
> I have started practising and coding
>
> for the project for deducing a methodology as early as possible.
>
> My aim is to get it Before community bonding.
>
> [s]Also,please refer the Road map for complete approach of the project.
>
> [t]Do refer Design Strategy in the Develop phase of the Road Map
>
> [u]_Marked as resolved_
>
> [v]_Re-opened_
>
> [w]I would like to see actual technical details with code examples, not
> links and general strategy
>
> [x]Do refer Design Strategy in the Develop phase of the Road Map,
>
> This would explain my method of planing doing things for this project
>
> [y]This What i have been studying with help of Internet and implemented
> so far.I will be submitting more of this soon
>
> [z]The output from JSON is more structured therefore I will be using the
> JSON output to translate it the Strace. By doing so I will be able to
> achieve the goal of the Porject
>
> [aa]Why use this color. Its too sharp and disturbs reading. Please choose
> a better color or you can as well leave it to be white (background color)
>
> [ab]changes done
>
> [ac]This is the least I can do and your mentors will do the core review
> :). Hope it helps.
>
> [ad]Thank You!
> This is a courtesy copy of an email for your record only. It's not the
> same email your collaborators received. Click here
> <https://support.google.com/drive/?p=courtesy_copy> to learn more. [image:
> Logo for Google Docs] <https://drive.google.com>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.strace.io/pipermail/strace-devel/attachments/20160408/9c0c3f9c/attachment.html>


More information about the Strace-devel mailing list