Thesis
Work and Students |
|
Student |
Status |
Thesis
|
40 |
Mamta Wadwani |
Defense 11/06 |
User Interface Testing Tool |
39 |
Navya Teja Amerineni |
Defense 11/06 |
Visual Ruby Unit Testing Tool |
38 |
Anu Paturi |
Defense 11/06 |
COM Interop Wrapper for Managed Code |
37 |
Len Choo Ong |
Defended 09/06 |
Alternate Code Generation for Abstraction Based Mock Objects |
36 |
Aysha I Shaikh |
Defended 07/06 |
RFaIR - Radio Frequency aided Information Retrieval |
35 |
Anil Bobba |
Defended 04/06 |
Framework for eXtreme Feedback |
34 |
Pavan Podila |
Defended 02/06 |
DotSpect - A Language independent AOP Tool |
33 |
Hanumatha Rao Adusumali |
Defended 11/05 |
Mapping State Tables To Realize Mock Objects |
32 |
Jaivardhan Bhati |
Defended 11/05 |
Web Service Performance |
31 |
Anita Bennur |
Defended 11/05 |
Abstraction Based Mock Object Framework |
30 |
Jimy Chang |
Defended 07/05 |
Tool for testing Web Services |
29 |
Radha Kartala |
Defended 04/05 |
Performance Testing Tool for .NET |
28 |
Jinqiang Chen |
Defended 04/05 |
Naked Objects in .NET |
27 |
Buu Tien Phan |
Defended 11/04 |
Fetch on Demand Algorithm for Session Management
|
26 |
Sushil Digewade |
Defended 08/04 |
.NET Assembly and Configuration Management Tools
|
25 |
Dinesh Ravva |
Defended 07/04 |
Inter-Process Event/Messaging model for .Net
|
24 |
Srinivas Rao |
Defended 04/04 |
Infrastructure for outsourcing services: A software model
|
23 |
Sohani Patel |
Defended 04/04 |
JSP Framework
|
22 |
Jay Gattani |
Defended 03/04 |
AOP in .NET
|
21 |
Prerna Khosla |
Defended 02/04 |
O-R Mapping Framework
|
20 |
Jatindera Walia |
Defended 09/03 |
Design Metric Tool
|
19 |
Paige Presley |
Defended 04/03 |
Distributed Data Delivery System
|
18 |
Kwangyeon Shin |
Defended 04/03 |
Visualization of Web Services
|
17 |
Keeil Sung |
Defended 03/03 |
Design Patterns Wizard
|
16 |
Shaolong Wu |
Defended 11/02 |
A Framework for Display of Information from a Data Source
|
15 |
Shikha Chawla |
Defended 08/02 |
Remote Dynamic Method Invocation
|
14 |
Bing Zheng |
Defended 08/02 |
Web Information Archival System
|
13 |
Steven Wang |
Defended 07/02 |
SNMP Trap Watcher
|
12 |
Peiyu Sun |
Defended 07/02 |
Perf. Analysis of EJB App. Servers
|
11 |
Vijayabaskar Gangadaran |
Defended 05/02 |
Java Unit Test Tool
|
10 |
Penghui Yang |
Defended 04/02 |
.NET UML Viewer
|
9 |
Neil Bandopadhyay |
Defended 04/02 |
Architecture and Prototype of a Wireless Alert System
|
8 |
Praveen Andrews |
Defended 08/01 |
Performance Analysis Java vs. C++ |
7 |
Rachana Adapa |
Defended 04/01 |
Flex Frame: Simulatable framework |
6 |
Zhihong Liu |
Defended 04/01 |
A Study of COM+ Performance |
5 |
Tao Zhang
|
Defended 04/01 |
An XML Stylesheet Generator |
4 |
Hang Heidi
Cheng
|
Defended 11/00 |
Porting of an efficient JVM
to Win32 |
3 |
Doğan
Kartaltepe
|
Defended 11/00 |
JOVA: Java Object Visualization
Aid |
2 |
Leena Naik
|
Defended 10/00 |
Performance and
Practicality of JNI |
1 |
William Bagdan
|
Defended 11/99 |
COM Viewer |
|
11/06:
User Interface Testing Tool by Mamta Wadwani
|
er Acceptance testing is one of the most challenging tasks to be achieved in the field of Software Testing. A product is not worth if it's not accepted by the user. This task, though of high importance, is mostly done using manual approach. In our thesis, we contribute towards enhancement of a GUI testing tool, Carabiner, which attempts to automate the process of user acceptance testing. Carabiner inspects each GUI control in isolation in order to make sure that each control follows design guidelines. Carabiner provides a "Bless" or "Curse" metaphor to the user to show their acceptance or rejection for the interface.
|
11/06:
Visual Ruby Unit Testing Tool by Navya Teja Amerineni
|
Ruby is a new, powerful, dynamic, object-oriented language, which is also light-weight and portable. To identify the correctness, completeness, security, and quality of developed software, testing is essential. Unit testing is a popular testing technique which tests units of code isolated from each other. Ruby has good unit testing frameworks, but does not have good unit testing tools to improve the efficiency and ease of use of the frameworks. Available unit testing tools, mostly console based, do not have good user interface and provide results in a manner that is difficult to interpret. Available graphical user interface based testing tools do not provide additional features other than what the framework provides.
|
11/06:
COM Interop Wrapper for Managed Code by Anu Paturi
|
COM Interoperability, also called COM Interop, provides communication between COM components and .NET applications. COM components can not be directly utilized in .NET applications due to architecture and implementation differences. In order to overcome these differences, COM Interop provides a wrapper around the COM component called Runtime Callable Wrapper (RCW). RCW also takes care of data marshalling, exception handling, and object lifetime during interoperation between .NET and COM components. During interoperability, marshalling overhead may be incurred due to incompatible threading models between the COM component and .NET client. Another issue during interoperability is the Object lifetime. This may arise due to the holding of COM object resources till they are garbage collected. Unfortunately, none of these issues are handled by the RCW.
|
09/06:
Alternate Code Generation for Abstraction Based Mock Objects by Len Choo Ong
|
Previous work in the area of Mock objects and unit testing proposed an Abstraction Based framework for creating Mock objects. While this approach has its advantages, it suffers from some significant disadvantages. Namely, the creation of mock was very slow and the dependency on State Machine Compiler restricted how specification of state transition for the Mock objects.
|
07/06:
RFaIR - Radio Frequency aided Information Retrieval by Aysha I Shaikh
|
The term 'Information Radiator' (IR) was first introduced by Alistair Cockburn. An IR is a large display of critical team information updated continuously and located at a place which can be viewed anytime by team members. They have proved to increase the performance and efficiency of a team by enhancing the open communication of information among team members. They are very helpful in tracking the progress of a project, work breakdown, etc. Unfortunately, many of the current IR's have been so developed that its true essence has been marred. Some of the reasons being, using charts and whiteboards instead of electronic medium as display, inefficient scripts to retrieve information limiting the resource of information to text files, and inhibiting the power of visual graphics, and tool being domain specific thus restraining extensions to future data resources. Thus an absence of an automated generic tool that could be deployed over the internet has been observed.
|
04/06:
Framework for eXtreme Feedback by Anil Bobba
|
eXtreme Programming (XP) relies heavily on feedback. Feedback consists of the frequent review of the results or output of various activities and tests done as a part of software development. The term and concept of eXtreme Feedback (XF) is born out of XP. To make XF publishing and notification possible in a wide scale, a framework designed around delivering feedback is necessary. In this thesis we have taken XF to the next level by developing a general purpose eXtreme Feedback Framework (XFF) that would make the whole concept of XF almost effortless. The thesis started with two specific goals, to design and implement a framework for XF, and to show a proof of concept by putting it to use in two real world scenarios.
|
02/06:
DotSpect - Language Independent AOP Tool by Pavan Podila
|
Aspect Oriented Programming (AOP) is a new paradigm for solving certain class
of software problems where Object Oriented (OO) paradigm fails to provide
effective solutions. The .NET Framework is a rich and powerful platform for
building tools and applications. However in the AOP space, it lacks the
maturity offered by tools for the Java platform. Existing AOP implementations
for .NET either use XML for describing aspects, or weave aspects at runtime,
or target a specific language like C#. XML syntax introduces too much
verbosity whereas runtime-weaving may not be suitable for every type of
problem. Also targeting a specific language does not allow aspects to be
written in any other .NET supported language.
|
11/05:
Mapping State Tables To Realize Mock Objects by Hanumantharao Adusumali
|
Mock objects are test-oriented replacements for collaborator objects and help developers in testing the details of an object that has dependencies. Mock object frameworks are tools that help developer automate the mock object creation and training process. Unfortunately, current mock object frameworks are based on object-collaborator interactions which are complex and hard to express. There is need for improvement in the mock object creation process.
One such improvement is the recent work of abstraction based approach to creating mock objects in which behavior is represented using a state table. In this thesis we propose an approach to map the state table to realize mock objects. We use the State Machine Compiler (SMC) to generate a class to maintain the state of the mock. We map the user given simple state table input into the input format specified by the SMC and generate mock object based on the state behavior specified.
|
11/05:
Analysis and Enhancement of Web Services Performance by Jaivardhan Bhati
|
There is greater need for software components to be distributed. How do software components communicate and exchange data efficiently? Remoting technologies like COM, CORBA, RMI, and .NET Remoting address this issue, however, they lack either platform independence or tie you to specific software infrastructure. Web services, due to their use of XML, have gained popularity for their platform neutral ability to allow components to communicate. However, XML is verbose and may lead to poor performance.
In this thesis I study the performance of XML web services. I analyze the performance for different size of data exchange. I observe that sending data over XML degrades linearly as the size of the XML increases. I then explore ways to improve this performance. By using the DIME protocol, the performance is improved, however, it also results in the loss of platform neutrality. We derive further conclusions based on the analysis.
|
11/05:
An Abstraction Based Mock Object Framework by Anita Bennur
|
Mock objects are representatives for real objects that a piece of code under test collaborates with. The code can invoke methods on the mock which in turn behaves exactly as it has been trained to. Mock object frameworks seek to automate this process of creating and setting up a mock object. However, the frameworks in vogue today place an inordinate amount of stress on the implementation details of the collaboration between the code and the mock. This diverts the focus from the behavior of the mock to the implementation of the mock. While the idea of mock objects is a breakthrough for test driven development, its implementation in terms of frameworks can be improved.
In this thesis we propose a radical shift in the way mock object frameworks are perceived and used. We specify a means by which the behavior of the mock can be abstracted and created dynamically. In this approach the behavior of the mock is synthesized from the expression of its state. This abstraction oriented framework truly captures the essence of mock objects and also serves as, arguably, one of the most productive means to using mocks. The successful design and implementation of our framework provides the proof of concept for our hypotheses.
|
07/05:
A Web Service Testing Tool by Jimy Chang
|
After a huge growth in Web Services, it is now necessary to debug and test them accordingly. It is less acceptable for them to have broken and unusable features, because of their frequent use and deployment. One can argue that in the vigorous drive to reduce costs and increase the consumer base, a fully functionally service is more than necessary. As such, a low development time coupled with an effective debugging tool would be very advantageous. This thesis provides such a tool by creating a generic client using which Web Services can be tested. Using Reflection and static proxies created from Web Services Description Language (WSDL), this tool is able to de-couple the service from its client during the development stage. In essence, we have a client that can mimic the remote function calls from most clients and also provide an interface to other testing utilities. The benefits of our tool are at least threefold: early detection of bugs and defects, lower development time, and more robust code.
|
04/05:
Performance Testing Tool for .NET by Radha Kartala
|
NUnit is a unit testing framework that can be used with all the .NET languages like C#, Visual Basic,
Visual C++. It was written in C# based on the JUnit testing framework for Java. While JUnit mainly
involved testing the functionality of the code, an extension of JUnit, called JUnitPerf developed by
Mike Clark, introduced performance testing to Java developers. While functionality testing leads to
the production of error-free software, performance testing leads to the development of quality
software. The motivation of this thesis was to bring a similar extension of a performance testing tool
to .NET developers.
The objective of this thesis is to extend NUnit to incorporate performance testing. We tried to base
our tool on JUnitPerf which was inheritance based. It was very convenient to extend JUnit. But NUnit
is attribute-based and NUnit 2.2, which is the current final release, does not provide any mechanism
for extensibility. An iteration release called NUnit 2.2.1 provides an extensibility mechanism that
we used to extend NUnit classes and introduce new behavior. Consequently we created TimedTest and
LoadTest attributes as an extension to NUnit. Our performance testing tool is conceptually based on
JUnitPerf and has the same attributes, TimedTest and LoadTest, that JUnitPerf provides as JUnit
test decorators.
|
04/05:
Naked Objects in .NET by Jinqiang Chen
|
Naked Objects framework implementation in Java eliminates the need to
design Graphic User Interfaces (GUI) for software systems. However, the
framework was based on Java AWT component that is slow, incomplete and not
being actively improved. Java also currently does not support other
programming languages. In this thesis we have created a prototype of Naked
Objects framework implementation in .NET using C#. Our framework uses simpler
and more efficient controls to generate the GUI. It may be used to build
application in any .NET language. We demonstrate how our framework provides
flexibility and high potential for future refinement.
|
11/04:
A Study of Fetch on Demand Algorithm for Session Management by Buu Tien Phan
|
Session management in clusters is a serious problem faced by most enterprises that provide interactive Web applications. Existing session persistence techniques, such as centralized database persistence, known as Microsoft SQL server or memory-to-memory replication, known as Broadcasting algorithm, suffer from severe limitations. Centralized database persistence may suffer from Single Point of Failure while the Broadcasting algorithm may suffer scalability problem since the replication of session objects adds significant overhead. The Fetch on Demand algorithm is introduced as a software solution that overcomes the above-mentioned challenges associated with session management. The study focuses on implementation of the Fetch on Demand algorithm, analyzing the performance and comparison to existing designs.
|
08/04:
.NET Assembly and Configuration Management Tools by Sushil Digewade
|
With the .NET initiative, Microsoft has introduced a much-improved Windows development platform. VS.NET is the development environment of the .NET platform. VS.NET is relatively new and with the intent of improving it, Microsoft has enabled the extensibility features on it. The thesis work comprises of design and development of two tools that would be operated from within the VS.NET. These tools would be used during development and deployment of software on the .NET platform. The primary goal of these tools is to improve the productivity of a .NET application developer. The configuration file editor tool, named SmartEdit, facilitates a developer to efficiently edit the XML based configuration files of a .NET application. The SmartEdit tool is integrated in the VS.NET and could be invoked directly on a configuration file. The other tool, DView, would be used to view the dependencies of the installation units, or the assemblies, of the .NET platform. The DView tool is external tool and could be attached to the VS.NET. This tool could be used in the development as well as the deployment environment.
|
07/04:
Inter-Process Event/Messaging model for .Net by Dinesh Ravva
|
The existing event model in .Net framework dispatches events synchronously to its handlers within process. In it, the existing code has to be modified to vary the handlers for events. This thesis presents a messaging framework for .Net that provides a new event model, which enables to vary the event handlers without the need for modifying or recompiling the existing code. It also dispatches event messages to its handlers asynchronously. Varying handlers is achieved by bringing out the event registration and the event dispatching mechanisms out of the process and into the messaging framework. The framework is modeled along the lines of the publisher-subscriber model of the messaging oriented middleware. We also provide an easy to use API and an intuitive administrative console for the developers to interact with the framework. .Net Enterprise Services are used for effective implementation of the framework. The framework also supports security in the form of the secured topics.
|
04/04:
Infrastructure for outsourcing services: A software model by Srinivas Rao
|
A model for offering services on Internet that enables outsourcing services is presented with examples of areas where this model would be useful. Development of infrastructure that could enable a service provider with minimal effort is discussed. Various technologies that can be used to implement this infrastructure are considered with reference to their benefits and drawbacks, available tools and ease of implementation. Based on these factors, Web Services model is chosen for implementation using the Java Web Services Developer's Pack from Sun Microsystems. Requirements imposed by such infrastructure are discussed along with general outline of functionalities of the server and the client. Design considerations and implementation of this functionality are detailed and the software design patterns that can be used are highlighted. Use of the developed infrastructure is illustrated with a simulated service provider.
|
04/04:
JAVA Tag Library Based Server Side HTML Mapping Controls by Sohani Patel |
Web applications have become popular for various uses including online shopping, information search and communication. HTML is one of the most widely used languages for development of such applications that depends on server side languages like JSP to solve its inherent problems. Embedding HTML in the JSP makes the code lengthy and unreadable for the big applications, which also makes it difficult to modify and maintain. Separating the logic from the presentation can solve this problem. An inherent problem with HTML controls to retain the state also needs to be addresses. Also, JSP needs to adapt to new development in the technology and provide ability to generate code for languages other than HTML, like WML for PDAs.
|
03/04:
AOPINJECTOR - A Post Compilation Aspect Oriented Injection Tool For The .Net Framework by Jay Gattani |
Aspect Oriented Programming (AOP) is a new programming paradigm being researched upon at present. AOP proposes a number of new ideas and methods to efficiently deal with software complexity in arenas where the Object-Oriented Paradigm fails to provide even a suboptimal solution. In this thesis we present AOPInjector which is a post-compilation aspect oriented programming tool designed for the Microsoft .NET framework. It is an attempt to understand the underlying concepts of AOP as well as a proof of concept of an extensible tool to provide AOP support for applications developed with the .NET framework. The following design goals were considered: To keep the syntax as hygienic as possible and consistent with the syntax of the C# programming language; To reduce the learning curve of a AOP programmer using the tool; Finally to rely upon efficient IL code injection at the post compilation phase instead of run time method interceptions. The implementation of the tool in this thesis has served as a realization of these goals.
|