Wednesday September 10, 2008
Intelligent Tutor System
My role is to synthesize a test driver that is capable of exposing behavioral differences between two versions of a class. This test driver will be executing similar method call sequences on both versions of the class in order to expose possible differences. A problem Justin and I encountered was that we cannot constraint test values within the test driver. We have to be as generic as possible and let the test driver choose the values that are to be tested. I also learned that combinatorial testing could be applied in the test driver because the problem of having a large number of parameters (method calls) still exists. Thus I hope I will be able to incorporate the FireEye tool within this project. Through FireEye, I can focus on unique test cases, eliminating those that are similar to one another. As of now, I believe incorporating combinatorial testing into the test driver could result in better and more efficient tests.
Posted by bsapilli Sep 10 2008, 07:47:49 PM EDT Permalink Comments [0]
My role is to synthesize a test driver that is capable of exposing behavioral differences between two versions of a class. This test driver will be executing similar method call sequences on both versions of the class in order to expose possible differences. A problem Justin and I encountered was that we cannot constraint test values within the test driver. We have to be as generic as possible and let the test driver choose the values that are to be tested. I also learned that combinatorial testing could be applied in the test driver because the problem of having a large number of parameters (method calls) still exists. Thus I hope I will be able to incorporate the FireEye tool within this project. Through FireEye, I can focus on unique test cases, eliminating those that are similar to one another. As of now, I believe incorporating combinatorial testing into the test driver could result in better and more efficient tests.
Posted by bsapilli Sep 10 2008, 07:47:49 PM EDT Permalink Comments [0]
Discussion about Intelligent Tutoring System
Participants: Dr. Tao Xie, Yoonki Song, Kunal Taneja, Suresh Thummalapenta, Bellanov Apilli, Justin Gorham
Discussed about how to start the project and initial set of tasks:
Tools used:
1. ASM : For analyzing class files
2. Eclipse plugin for JPF
@Yoonki: Create a project "ITutor" based on UnitPlus and provide API called "ASMProxy" for accepting a class file as input and set of interface methods for getting the details of the class such as the name, parent class name, public methods, observer methods etc., The ASMProxy interface is based on ASM tool for analyzing byte code.
@Kunal: Provide a BinarySearchTree example to use as a running example through the project. Also explore the format of the driver required by JPF.
@Justin: Checkout the ITutor project and extend the project to use the ASMProxy class provided by Yoonki to generate a compilable interface that can be used by student to put the code.
@Bellanov: Checkout the ITutor project and extend the project to use the ASMProxy to generate a compilable test driver.
Posted by sthumma Sep 10 2008, 07:07:52 PM EDT Permalink Comments [0]
Participants: Dr. Tao Xie, Yoonki Song, Kunal Taneja, Suresh Thummalapenta, Bellanov Apilli, Justin Gorham
Discussed about how to start the project and initial set of tasks:
Tools used:
1. ASM : For analyzing class files
2. Eclipse plugin for JPF
@Yoonki: Create a project "ITutor" based on UnitPlus and provide API called "ASMProxy" for accepting a class file as input and set of interface methods for getting the details of the class such as the name, parent class name, public methods, observer methods etc., The ASMProxy interface is based on ASM tool for analyzing byte code.
@Kunal: Provide a BinarySearchTree example to use as a running example through the project. Also explore the format of the driver required by JPF.
@Justin: Checkout the ITutor project and extend the project to use the ASMProxy class provided by Yoonki to generate a compilable interface that can be used by student to put the code.
@Bellanov: Checkout the ITutor project and extend the project to use the ASMProxy to generate a compilable test driver.
Posted by sthumma Sep 10 2008, 07:07:52 PM EDT Permalink Comments [0]
Writing The Paper
I had dinner with Professor Tao today and discussed the conclusion of the project, the paper. We went over how each section of the paper should be addressed, as well as the content and proper format, and plagiarism. After covering each section in detail, I have a better perspective of how research papers should be. I will be receiving slides containing a general outline of the paper-writing process. Until then, I will be summing up any ideas I come across. Posted by bsapilli Aug 17 2008, 10:21:21 PM EDT Permalink Comments [0]
I had dinner with Professor Tao today and discussed the conclusion of the project, the paper. We went over how each section of the paper should be addressed, as well as the content and proper format, and plagiarism. After covering each section in detail, I have a better perspective of how research papers should be. I will be receiving slides containing a general outline of the paper-writing process. Until then, I will be summing up any ideas I come across. Posted by bsapilli Aug 17 2008, 10:21:21 PM EDT Permalink Comments [0]
Bit Vector Input (cont'd)
I have implemented the ideas JeeHyun and I discussed, deciding on "$" as the delimiting character in the output format. I kept the existing feature, which was insufficient, but have also implemented the bit vector method successfully, sending that data to a separate file. The files are denoted differently (original input as *.input & the vector as *.inputVector). I have sent the program(s) to JeeHyun and he will convert the data into the request format for testing. Posted by bsapilli Aug 08 2008, 08:59:35 PM EDT Permalink Comments [0]
I have implemented the ideas JeeHyun and I discussed, deciding on "$" as the delimiting character in the output format. I kept the existing feature, which was insufficient, but have also implemented the bit vector method successfully, sending that data to a separate file. The files are denoted differently (original input as *.input & the vector as *.inputVector). I have sent the program(s) to JeeHyun and he will convert the data into the request format for testing. Posted by bsapilli Aug 08 2008, 08:59:35 PM EDT Permalink Comments [0]
Bit Vector Input
I met with JeeHyun today to address the format the bit vectors will be in, deciding on a format he could easily convert from.We decided no a format comprising of both the attribute and its type. We also discussed the so-called complex file types (true & false) and decided to implement them as individual attributes. I implemented the idea into the FireEye conversion class I wrote. The format I chose is as follows: attribute : type. I kept the spaces between to make it more readable for JeeHyun when it comes time for him to convert it. This process is complete for code A - D, conference, and pluto. The remaining two (continue a & b) will soon be finished, once I correctly ignore the irrelevant lines.
Posted by bsapilli Aug 07 2008, 10:13:37 PM EDT Permalink Comments [0]
I met with JeeHyun today to address the format the bit vectors will be in, deciding on a format he could easily convert from.We decided no a format comprising of both the attribute and its type. We also discussed the so-called complex file types (true & false) and decided to implement them as individual attributes. I implemented the idea into the FireEye conversion class I wrote. The format I chose is as follows: attribute : type. I kept the spaces between to make it more readable for JeeHyun when it comes time for him to convert it. This process is complete for code A - D, conference, and pluto. The remaining two (continue a & b) will soon be finished, once I correctly ignore the irrelevant lines.
Posted by bsapilli Aug 07 2008, 10:13:37 PM EDT Permalink Comments [0]
Next Step(s)
I met with professor Tao today to discuss the necessary steps to take in order to achieve our goal, the coverage testing. As of now, my implementation is able to handle all combinations, given that one value is taken for subject, research, and action each time. Although this method may cover a significant number of requests, it will not be sufficient. It fails in covering cases where more than one of each type (subject, resource, value) were taken. The solution we came up with was similar to what we discussed the very first day, a bit vector whose length is as long as the number of attribute values. I will implement this idea as soon as I am fully complete with the current task, which is converting the FireEye output back into request format. Converting these values will enable us to test coverage, although it may be only for primitive case (one subject, resource, and action at a time). Once I am finished with implementing the conversion on the primitave cases, I will do the same for the complex (more than one subject/resource/action taken at once). In order to successfully convert the files into requests, I need to find some way to map the attributes to their other components, such as their type, id, etc, so I can keep track of their relationships.
Posted by bsapilli Aug 04 2008, 05:18:10 PM EDT Permalink Comments [0]
I met with professor Tao today to discuss the necessary steps to take in order to achieve our goal, the coverage testing. As of now, my implementation is able to handle all combinations, given that one value is taken for subject, research, and action each time. Although this method may cover a significant number of requests, it will not be sufficient. It fails in covering cases where more than one of each type (subject, resource, value) were taken. The solution we came up with was similar to what we discussed the very first day, a bit vector whose length is as long as the number of attribute values. I will implement this idea as soon as I am fully complete with the current task, which is converting the FireEye output back into request format. Converting these values will enable us to test coverage, although it may be only for primitive case (one subject, resource, and action at a time). Once I am finished with implementing the conversion on the primitave cases, I will do the same for the complex (more than one subject/resource/action taken at once). In order to successfully convert the files into requests, I need to find some way to map the attributes to their other components, such as their type, id, etc, so I can keep track of their relationships.
Posted by bsapilli Aug 04 2008, 05:18:10 PM EDT Permalink Comments [0]
FireEye Input Conversion
I have now completed a program that extracts the attribute data from the policies, compiles them into lists, and writes the data to a text file that is compatible with FireEye. The program, thus far, works correctly for the simplest samples (codeA - codeD as well as pluto). JeeHyun has informed me that some of the policies contain complex names (such as those with numerous occurrences of the "true" attribute) and I am now trying to figure out a way to incorporate these attributes. I have some ideas and will discuss them with JeeHyun before attempting to implement them.
Posted by bsapilli Jul 27 2008, 11:49:46 PM EDT Permalink Comments [0]
I have now completed a program that extracts the attribute data from the policies, compiles them into lists, and writes the data to a text file that is compatible with FireEye. The program, thus far, works correctly for the simplest samples (codeA - codeD as well as pluto). JeeHyun has informed me that some of the policies contain complex names (such as those with numerous occurrences of the "true" attribute) and I am now trying to figure out a way to incorporate these attributes. I have some ideas and will discuss them with JeeHyun before attempting to implement them.
Posted by bsapilli Jul 27 2008, 11:49:46 PM EDT Permalink Comments [0]
Attributes & FireEye
I met with JeeHyun today to further discuss applying FireEye to the policies. He noted that he possessed a program that extracted data from the policies, compiling them into a tree structure. This tree structure is used by the classes in the project to for numerous tasks, including the creation of the requests. I believe utilizing this program would simplify the process of converting it into FireEye input. I am supposing isolating each type of attribute (subject, resource, action) into it's own respective file. After this isolation will come the compilation of each of these into appropriate FireEye input. As of now, I have been experimenting in FireEye, trying to get a feel of what the generic format of the input file will be. I've got a general idea and will implement it as soon as I receive the program from JeeHyun.
Posted by bsapilli Jul 18 2008, 07:46:43 PM EDT Permalink Comments [0]
I met with JeeHyun today to further discuss applying FireEye to the policies. He noted that he possessed a program that extracted data from the policies, compiling them into a tree structure. This tree structure is used by the classes in the project to for numerous tasks, including the creation of the requests. I believe utilizing this program would simplify the process of converting it into FireEye input. I am supposing isolating each type of attribute (subject, resource, action) into it's own respective file. After this isolation will come the compilation of each of these into appropriate FireEye input. As of now, I have been experimenting in FireEye, trying to get a feel of what the generic format of the input file will be. I've got a general idea and will implement it as soon as I receive the program from JeeHyun.
Posted by bsapilli Jul 18 2008, 07:46:43 PM EDT Permalink Comments [0]
NSF REU project on "Testing and Verification of Security Policies"
We recently recieved an NSF REU supplement grant for my existing NSF grant on Testing and Verification of Security Policies.
Bellanov Apilli, an undergraduate student from our NCSU CS department, has recently joined our project team to work on this REU project. Welcome!
(Sorry that my this annoucement of the project comes in later than Bellanov's first post on his progress below. Bellavnov, keep up the good work in keeping your progress posted here along the way!)
Posted by txie Jul 13 2008, 06:12:11 PM EDT Permalink Comments [0]
We recently recieved an NSF REU supplement grant for my existing NSF grant on Testing and Verification of Security Policies.
Bellanov Apilli, an undergraduate student from our NCSU CS department, has recently joined our project team to work on this REU project. Welcome!
(Sorry that my this annoucement of the project comes in later than Bellanov's first post on his progress below. Bellavnov, keep up the good work in keeping your progress posted here along the way!)
Posted by txie Jul 13 2008, 06:12:11 PM EDT Permalink Comments [0]
Access Control Policies - The Beginning
After meeting with professor Tao, I found that this research project was a lot more complex than I imagined. From the simple testing methods to the numerous permutations I had to derive in order to choose the most appropriate testing method, I found that there is a lot involved in even the simplest tests of access policies. The randomized testing method in addition to the reduction method used in order to shrink the number of the testing criteria blew my mind. The questions assigned to me during the session gave me a lot to think about, as well as the papers I've been reading. I've dabbled a bit in the editors used to create these policies but have yet to completely understand them. Overall, this project will be a great challenge and I'm glad that I decided to take part in it. Posted by bsapilli Jul 13 2008, 12:41:22 AM EDT Permalink Comments [0]
After meeting with professor Tao, I found that this research project was a lot more complex than I imagined. From the simple testing methods to the numerous permutations I had to derive in order to choose the most appropriate testing method, I found that there is a lot involved in even the simplest tests of access policies. The randomized testing method in addition to the reduction method used in order to shrink the number of the testing criteria blew my mind. The questions assigned to me during the session gave me a lot to think about, as well as the papers I've been reading. I've dabbled a bit in the editors used to create these policies but have yet to completely understand them. Overall, this project will be a great challenge and I'm glad that I decided to take part in it. Posted by bsapilli Jul 13 2008, 12:41:22 AM EDT Permalink Comments [0]
FaceBook Application Development and Its Tool Support
We recently started an REU project on FaceBook Application Development and Its Tool Support.
Contact us if you have interests. Posted by txie Jun 23 2008, 01:13:04 AM EDT Permalink Comments [0]
We recently started an REU project on FaceBook Application Development and Its Tool Support.
Contact us if you have interests. Posted by txie Jun 23 2008, 01:13:04 AM EDT Permalink Comments [0]
Mining Musical Data
We recently started an REU project on Mining Musical Data.
Contact us if you have interests.
Posted by txie Jun 07 2008, 04:48:09 PM EDT Permalink Comments [0]
We recently started an REU project on Mining Musical Data.
Contact us if you have interests.
Posted by txie Jun 07 2008, 04:48:09 PM EDT Permalink Comments [0]
TODO Tasks for the mining REU project
Having a homepage is really helpful and valuable for one's career.
For our undergraduate students in the mining REU project:
You can use the NCSU homepages or Google hompeage (or our group ASE server) to set up your homepages. Let me know when you have one so that I can link it from our project web and group web.
On the more technical side, (1). you can start on browsing and playing around some cool applications of text mining (2). You can start working on Subtasks 1 and 2 listed in our project web.
When you are working on this project, please use this blog site to write down your research logs, including documenting your research activities, the questions that you have, and the difficulties that you face, etc.
======
On a site note: it took me a while to figure out that the SAS 9.1 installed in the VCL needs a step of setting up the path system variable (Step 3 listed in Subtask 1). Its installation at VCL should have done that.:( When one installs SAS 9.1 in your local machine, you also need to do this step.
Posted by txie Apr 28 2008, 11:05:54 PM EDT Permalink Comments [0]
Having a homepage is really helpful and valuable for one's career.
For our undergraduate students in the mining REU project:
You can use the NCSU homepages or Google hompeage (or our group ASE server) to set up your homepages. Let me know when you have one so that I can link it from our project web and group web.
On the more technical side, (1). you can start on browsing and playing around some cool applications of text mining (2). You can start working on Subtasks 1 and 2 listed in our project web.
When you are working on this project, please use this blog site to write down your research logs, including documenting your research activities, the questions that you have, and the difficulties that you face, etc.
======
On a site note: it took me a while to figure out that the SAS 9.1 installed in the VCL needs a step of setting up the path system variable (Step 3 listed in Subtask 1). Its installation at VCL should have done that.:( When one installs SAS 9.1 in your local machine, you also need to do this step.
Posted by txie Apr 28 2008, 11:05:54 PM EDT Permalink Comments [0]
Welcome undergraduate students in the NCSU ASE REU project on Mining Software Engineering Data
With kind support of the College of Engineering and Department of Computer Science at NCSU, we have our first NCSU ASE REU project, which focuses on mining software engineering data. We have a dedicated project web at:
http://ase.csc.ncsu.edu/projects/reu/minese/
These three students are:
Justin W. Gorham
Anjali Khatri
Robinson N. Udechukwu
Welcome, Justin, Anjali, and Robinson! Justin started early on and now Anjali and Robinson are joining him.
Besides me as the faculty mentor, my Ph.D. Student Suresh Thummalapenta serves as a graduate student co-mentor for this project.
We look forward to the success of this first NCSU ASE REU project!
Posted by txie Apr 28 2008, 10:25:58 PM EDT Permalink Comments [0]
With kind support of the College of Engineering and Department of Computer Science at NCSU, we have our first NCSU ASE REU project, which focuses on mining software engineering data. We have a dedicated project web at:
http://ase.csc.ncsu.edu/projects/reu/minese/
These three students are:
Justin W. Gorham
Anjali Khatri
Robinson N. Udechukwu
Welcome, Justin, Anjali, and Robinson! Justin started early on and now Anjali and Robinson are joining him.
Besides me as the faculty mentor, my Ph.D. Student Suresh Thummalapenta serves as a graduate student co-mentor for this project.
We look forward to the success of this first NCSU ASE REU project!
Posted by txie Apr 28 2008, 10:25:58 PM EDT Permalink Comments [0]
The birth of ASE REU Blog
Today I created this NCSU ASE REU blog, dedicated for Research Experiences for Undergraduates (REU) at the NCSU ASE group:
http://ase.csc.ncsu.edu/
This blog will serve the following main purposes:
(1). allowing undergraduate students in the NCSU ASE group to write down their research logs, including documenting their research activities, the questions that they have, and the difficulties that they face, etc.
(2). allowing the faculty mentor and graduate student co-mentors to answer undergraduate students' questions and give them guidance on their research.
But of course, anyone in the NCSU ASE group can write entries in this blog related to REU and anyone around the world can comment on this blog.
Posted by txie Apr 28 2008, 10:10:53 PM EDT Permalink Comments [1]
Today I created this NCSU ASE REU blog, dedicated for Research Experiences for Undergraduates (REU) at the NCSU ASE group:
http://ase.csc.ncsu.edu/
This blog will serve the following main purposes:
(1). allowing undergraduate students in the NCSU ASE group to write down their research logs, including documenting their research activities, the questions that they have, and the difficulties that they face, etc.
(2). allowing the faculty mentor and graduate student co-mentors to answer undergraduate students' questions and give them guidance on their research.
But of course, anyone in the NCSU ASE group can write entries in this blog related to REU and anyone around the world can comment on this blog.
Posted by txie Apr 28 2008, 10:10:53 PM EDT Permalink Comments [1]