Possible Software Engineering II Class Projects
Project 1: Automated Intrusion Detection:
Viruses and spyware are a huge problem with modern computing, costing billions
of dollars a year in productivity. These malware applications have become
increasingly sophisticated and continue to outsmart pattern matching approaches
used by modern spyware/virus scanners. As such, your task will be to design a
prototype system capable of automatically detecting system instrusion. Much
research has already been done on the algorithms capable of this, but no readily
available proof of concept exists. You will produce a simple system that can
scan the computer and recognize a potential threat based on previous data, not
tediously made template files.
Contact:Jimmy Secretan, School of Electical Engineering and
Computer Science, Email: secretj@cfl.rr.com University of Central Florida,
Orlando, 32816-2362. Cell: 407-325-3581.
Project 2: Spare CPU cycle harvesting
The average user of a PC only uses a small fraction of his available CPU
resources at one time. Countless CPU cycles go unused in a typical PC, and yet
computer users still suffer slow computing experiences. If perhaps, programs
could better predict and precompute the necessary functions that the user wishes
to perform, users could work a great deal faster with the same computing
resources. Your task is to develop a software library to aid in using spare CPU
cycles for local user applications. The library doesn't have to be extensive,
but more of a proof of concept. In addition, this should be tested in a simple
application such as a word processor.
Contact:Jimmy Secretan, School of Electical Engineering and
Computer Science, Email: secretj@cfl.rr.com University of Central Florida,
Orlando, 32816-2362. Cell: 407-325-3581.
Project 3: Online Paper Editing System
Academics often have the need to closely collaborate on research papers,
especially in the final stages of the paper. Currently, this might be
accomplished through e-mailing the paper back and fourth or uploading it to a
CVS system. However, as the deadline looms, it is easier to get out of
synchronization. Your job is to develop a web based system to allow for many
parties to simultaneously edit a LaTeX document. The system should make use of
the already existing component SynchroEdit (http://www.synchroedit.com/).
SynchroEdit allows several users to collaboratively edit text in real time. You
should wrap this system in a web based interface that helps with all the other
challenges of editing the paper, including uploading the initial document along
with accompanying figures and a way to compile and view a PDF of the LaTeX
through the same web interface.
Contact:Jimmy Secretan, School of Electical Engineering and
Computer Science, Email: secretj@cfl.rr.com University of Central Florida,
Orlando, 32816-2362. Cell: 407-325-3581.
Project 4: Software Process
Define a tailored software process specifically designed for Web-application
development,in particular, WebApps that use a database. Are there any
specialized effort and schedule models for such projects (e.g. Cocomo - like)?
Project 5: Estimate/Measure Defects
How do you measure/estimate number of defects remaining in code at time of
release? (Hint: related variables to this question include defect detection
rate, defect removal efficiency, defect density, and process maturity.)
Project 6: Software Quality
Review studies on the cost-of-quality in software engineering literature.
It is generally considered hard to apply the results to a specific project.
Provide suggestions on how to assess the cost-of-quality for three example
projects of your choosing.
Project 7: Software Product Quality
What is the impact of the organization's level (ISO certified or CMM assessed)
on the product quality?
Project 8: Software Testing
What would be different when a software tester performs test planning for
different systems and application domains? Consider mass-market software
products, COTS software, internal-use-only software tools, embedded software.
Project 9: Software Testing
There are open research problems and/or questions about statistical usage-based
web testing, especially with the missing information or information not recorded
in the server access logs. Research and suggest alternative ways to obtain such
a missing information or how to deal with other open problems and/or questions.
Project 10: Software Testing
Even though several emprical studies which compare inspection more favorably
than testing, it is still not as widely used as testing. Describe your
assessment behind this statement.
Project 11: Software Reliability Engineering
Software reliability engineering is both an active area of research and area
with great potential for practical applications. Describe its potential in the
web-based applications and software, or other emerging market.
Project 12: Software Automation Tools
Select three automated software estimation tools to use. You can find them on
the web with a demo version or short time period licences.
(a) Determine the types of algorithms each of them use
(b) Review the tools you selected and provide critique for each of them
(pros/cons, improvements if any) and order them according to your preference.