Thesis and project topics Fall 2004 – Fall 2005: Engineering Software Security: 1. Security engineering methodology a. Study how to engineer and construct secured software in a software development process b. Define and develop new methods in analysis, design, and construction of secured components and secured component-based systems c. Propose verification methods, measurement metrics and solutions to monitor, check, and measure the security of software components and component-based systems 2. Design patterns in software implementation for mobile coding a. Identify and study different types of security holes in mobile software implementation b. Study new verifications and tools to detect unsafe coding patterns in implementation c. Develop new code inspection tool and system solution to check unsafe codes 3. Mobile security framework for wireless software systems a. Study the existing security frameworks b. Identify the needs and requirements of mobile security framework c. Design and develop the framework for mobile software in wireless-based software systems 4. Dynamic security solutions for mobile software in wireless-based systems a. Study various dynamic models b. Develop a dynamic state-based model for analysis, design, and software security c. Develop a model-based solution for monitor, protect, and track the security of mobile software processes 5. Verification and measurement of network security a. Study network security factors and attributes b. Define and develop network security verification and measurement metrics and solutions c. Develop network security verification and measurement tool 6. Security solutions for wireless multimedia systems a. Study the existing security solutions for wireless multimedia systems b. Identify the needs and requirements for security in wireless multimedia systems c. Design and develop new security solutions for wireless multimedia software systems Component-Based Software Engineering: 1. 2. 3. 4. 5. Design for component testability a. Study component and software testability b. Develop new methods to construct testable components c. Apply to real world examples d. Develop component testability framework e. Construct testable components (GUI, Data access, middleware, and application components) Component test automation a. Develop new component test models and coverage criteria b. Develop new test tools based on the models and coverage criteria c. Apply to component examples d. Validate tools using these components Software regression testing tools for reusable components a. Develop new component re-test model and criteria for reusable components b. Develop new tool for these components c. Apply to different versions of component examples d. Validate the re-test tool using these components Component testability verification measurement a. Develop software verification methods, process, and guidelines for component code inspection for testability b. Develop new metrics and methods to support systematic verification and measurement c. Develop a tool based on this Design and implementation of testable beans (2 students) · Technology: Java, JavaBean, J2E technology · Methods and Approach: Self-testable software components · Domain application: Component-Based Software Engineering and Testing 6. Plug-in-and-Play Component Test Tools: (2 students) · Technology: Java, JavaBean, J2E technology, Mobile Technology · Methods and Approach: Component-Based Software Test Automation Solutions · Domain application: Component-Based Software Engineering and Testing 7. Plug-in-and-Measure Component Test Tools: (2 students) · Technology: Java, JavaBean, J2E technology, Mobile Technology · Methods and Approach: Component-Based Software Test Automation Solutions · Domain application: Component-Based Software Engineering and Testing 8. Component-Based Performance Testing and Measurement Environment: (2-4 students) · Technology: Java, JavaBean, J2E technology, Mobile Technology · Methods and Approach: component-based performance testing and measurement Software performance tool development · Domain application: Component-based software engineering Wireless-Based Information Systems and Mobile E-Commerce: (1) A Multimedia Mobile Electronic Sales-Man System (2 students) · Technology: wireless networking, mobile devices (J2ME/Sybrian), multimedia & Internet technology · Methods and Approach: Artificial Intelligence · Domain application: Wireless E-Commerce (2) Multimedia Mobile Advertising System (2 students) · Technology: wireless networking, mobile devices (J2ME/Sybrian), multimedia & Internet technology · Methods and Approach: Electronic Wireless Advertising Solutions · Domain application: Wireless Advertising and Commerce (3) Wireless Multimedia Messaging System (2 students) · Technology: wireless Internet, mobile devices and MMS protocol · Methods and Approach: MMS-based instant messaging · Domain application: Wireless Information System and Messaging (4) Location-Based Mobile Portal (2 students) · Technology: wireless networking, mobile devices and Internet technology · Methods and Approach: Mobile Portal Methods based on Device Mobility · Domain application: Wireless Portal-Based Information Services (5) Location-Based Mobile Commerce Framework (2 students) · Technology: wireless Internet Technologies, Mobile Devices, Mobile Technology · Methods and Approach: Location-based commerce based on user mobility · Domain application: Mobile Commerce (6) Peer-to-Peer Mobile Payment System (2 students) · Technology: Bluetooth protocol, wireless networking, mobile devices and Internet technology · Methods and Approach: J2ME technology and Wireless Payment Solutions · Domain application: Mobile Commerce (7) Wireless Device Simulator for Testing (2 students) · Technology: Wireless Technology, J2ME/Sybrain OS, DB system, Internet technology · Methods and Approach: Mobile Device Simulation and Testing · Domain application: Wireless-based software development and testing environment