Projects for Software Engineering Lab, January-May 2012

  1. AI Lab Complaint System

    Students: Varun Prakash, Pratim Singha, Sujoy Sarkar

    TA: Jagan

    In this project, we will be doing something similar to the bug tracking systems used in the industry. People interested may look at bugzilla - i.e., download, install and try to use it to understand how a bug tracking software looks like. Obviously, we will not do as complete a system as bugzilla. The GUI should allow a user to enter a complaint. This will involve having a form that has a text field ``title'' into which a one line description of the complaint is entered. In addition, there will be another large text field in which a detailed description of the complaint will be given. If needed, any other information that is helpful is also added here. It also requires adding the user ID of the person(s) responsible for processing the complaint - for e.g., it can be sysadmin@dcis.uohyd.ernet.in or any of the lab staff or the faculty-in-charge of the lab. Then, the form is submitted to the system. The system should store this into the database of complaints by giving it a unique ID. Forms for tracking the status of the complaint has to be developed. For e.g., list all outstanding complaints in the system, look up complaints filed by a particular person, assigned to a particular person(s) etc.

  2. GUI Mail Reader

    Students: Dilip Kumar Nayak, Samit Kumar Pradhan, Suresh Kumar Das

                       V.Gopinadh, S.Naresh and G.Sudhakar

    TA : Jagan

    In this project, we would like to do a UI similar to Squirrel Mail. However, unlike in Squirrel Mail, we will have only reading text mail facility. This involves understanding the mailbox format, parsing it and extracting the From, Date, Subject fields and displaying them in a form that shows these as columns. The subject field is clickable and when it is clicked, it should open another form that shows the contents of the mail along with all the other headers of the mail such as CC, etc. The mail box can be on a different system and has to be contacted using a client-server program.

  3. IP Datagram Reassembly from tcpdump output

    Students : P V Ramesh, G Sivarama Sastry, P Durga Prasad

    TA : Suji Nair

    tcpdump is a utility that allows us to capture network traffic. You will be provided with tcpdump like output that needs to be parsed and shown in a GUI with columns for Source IP, Destination IP, Flags, ID and Offset fields. For each, SourceIP+ID combination, you also need to show a line which says whether the datagram was successfully reassembled or not.

  4. Skiplist based Word Index Engine

    Students : V Subba Reddy, A Sivakrishna and V S S Krishna

                       T Subba Reddy, B Nagarjuna Reddy and P Venkatesh

    TA : Lokesh

    Skiplist is an advanced data structure that achieves time complexity for search of an item as in a binary search. The purpose of this project is to implement an ordered skiplist for add, delete and search operations. The content of each node of a skiplist is a word and the order is lexicographic order. The words and the frequency of occurrence are to be read from a file and added into the skiplist. A GUI to be built to search for words in the skiplist. We can process a query like the top commonly occurring words in terms of frequency of occurrence and return the words in a form.

  5. IP forwarding table lookup using binary trie

    Students : Hanish, Venkateswara Rao and Navneet Kumar

                       Rasmita Nayak and Bharati Ganesh

    TA : Prashanth

    IP forwarding table lookup uses the longest matching prefix algorithm. This is best achieved, in general, using trie structures. You need to parse a file which contains the IP prefix, next hop information and build a binary trie that stores this information. A GUI form to be developed from which an IP address can be entered in dotted decimal notation and this has to be checked for the longest prefix match and the matching entry returned. If no prefix is available that matches it, an error must be returned.

  6. Dijkstra Algorithm with binary heap

    Students : Anish Anurag, Vinay Kumar Varma and Kamalakanth Sethi

    TA : Prashanth

    Read the graph topology from a file and store it. Implement Dijkstra Algorithm with a binary heap. Implement a GUI where a start node is given. The output should be the shortest path from that node to every other node in the graph. The GUI should also allow a person to enter different topology files as input.

  7. Scanline Polygon Filling Algorithm

    Students : Sunil Kumar Sahu, Sudipto Das, Bharat Bheem

                       Omkarendra Tiwari, Abdulsalam Alammari and Ashish Mishra

    TA : Ramit

    Read the object coordinates from a file. Implement the Scanline Polygon Filling Algorithm (read the algorithm from Van Dam, Foley et al). Display the output.

  8. GUI based explorer of directories of a system

    Students : K Govinda Rao, Praveen Kumar and Siddeshwar Reddy

    TA : Ramit

    When run, the GUI should show the directories and files of the current directory from which the executable is run. It should also allow one to traverse the directory structure by moving to the parent or entering a path in a text field and displaying the contents of that directory in the other frame.

  9. Buffer Management System as in mbuf in BSD

    Students : Nirmoy Das, Sriramya, Arun Kumar

    TA : Anupama

    Need to understand mbuf design. Then, allocate a large chunk of memory. Divide this into 64, 128, 256, 512 and 1024 sized blocks of given numbers. Whenever a request for memory of a certain size is made, the block whose size is the minimum that fits the requested memory size has to be allocated. When the memory is freed, it has to be returned to the pool of the right size.

  10. eSeva system

    Students : T Subramanyam, Pranay and Mahammad Yasin

                        M Lakshmikanth, Tirupathi and Lakshman Rao

    TA : Deepak/Yashwanth

    This exercises the multi-threaded programming concepts. We have many clients coming in to a server which has to give tokens to the clients. There are many threads that process clients. Whenever a thread becomes free, the next token-holding client has to be processed. A GUI can be built to show the next available thread versus the token to be processed there. We have a dummy function per thread to wait a random time to mimic processing of a token.



Anupama Potluri 2012-01-06