Research Interests
- Component-based software systems
- Distributed systems
- Collaborative software testing
Publications
- Teng Long. Collaborative Testing Across Shared Software Components(Doctoral Dissertation).University of Maryland, College Park, 2015
- Teng Long, Ilchul Yoon, Atif Memon, Adam Porter and And Alan Sussman. Coordinated Collaborative Testing of Shared Software Components. In ICST'16 Proceedings of the IEEE International Conference on Software Testing, Verification and Validation, Chicago, IL, 2016
- Teng Long, Ilchul Yoon, Atif Memon, Adam Porter and And Alan Sussman. Enabling Collaborative Testing Across Shared Software Components. In CBSE'14 Proceedings of the 17th International ACM Sigsoft Symposium on Component-Based Software Engineering, LiLLe, France, 2014.
- Teng Long, Ilchul Yoon, Alan Sussman, Adam Porter and And Atif Memon. Scalable System Environment Caching and Sharing for Distributed Virtual Machines. In HPGC'14, Phoenix, AZ, USA, 2014.
- Teng Long, Ilchul Yoon, Adam Porter, Alan Sussman and And Atif Memon. Overlap and Synergy in Testing Software Components Across Loosely-Coupled Communities. In ISSRE'12 Proceedings of the 23rd IEEE International Symposium on Software Reliability Engineering, (Dallas, TX, USA), 2012.
- Shaojie Qiao, Changjie Tang, Huidong Jin, Teng Long, Shucheng Dai, Yungchang Ku and Michael Chau. PutMode: Prediction of Uncertain Trajectories in Moving Objects Databases. Applied Intelligence, 33(3): 370-386, 2010
- Teng Long, Shaojie Qiao, Changjie Tang, Liangxu Liu, Taiyong Li and Jiang Wu. E3TP: A Novel Trajectory Prediction Algorithm in Moving Objects Databases. In: PAISI 2009, Bangkok, Thailand. Lecture Notes in Computer Science, Springer-Verlag, LNCS 5477, pp: 76-88, 2009
Research Projects |
Community-based Software Testing
Component integration rather than from-scratch programming increasingly defines software development. As a result, software developers often play diverse roles, including that of a component provider -- packaging a component for others to use, a component user -- integrating other providers' components into their software, and a component tester -- ensuring that other providers' components work as part of an integrated system. This project explores the conjecture that testing resources can be better utilized by focusing not just on individual component-based systems, but on groups of systems that form what we refer to as loosely-coupled software development communities, meaning a set of independently-managed systems that use many of the same components. This project focuses on the following aspects:
|
Web-service Based Information Sharing Repository |
Rachet - Compatibility Testing of Component-based Systems
Modern component-based systems are typically composed of multiple components, where each component can have multiple versions, evolves over time, and may be developed by independent groups of developers. Since each possible combination of the components and their versions may be realized on an end-user's machine, testing the compatibility of multi-component based systems on top of possible field configurations is very important to improve system quality, and also to rationally manage support activities. However, the large number of potential field configurations makes it very difficult for developers to perform large-scale compatibility testing, so developers often pare down the test set to a small number of popular or default configurations and also must customize the configurations manually. This project aims at developing methods and a tool called Rachet to support large-scale compatibility testing of evolving component-based systems. The research has so far focused on testing for correct builds of components in various configurations, but supporting functional tests will also be the objective of the Rachet project. |
Rachet Software Architecture (Rachet Project Page) |
Professional Services
- External Reviewer of 2013 International Conference on Parallel Processing - The 42nd Annual Conference (ICPP-2013), Ecole Normale Superieure de Lyon, Lyon, France, Oct. 2013
- External Reviewer of 24th International Symposium on Computer Architecture and High Performance Computing (SBAC-PAD'2012), New York City, USA, Oct. 2012
- External Reviewer of The 8th IEEE International Conference on eScience (eScience 2012), Chicago, Illinois, USA, Oct. 2012
- External Reviewer of The 5th International Conference "Distributed Computing and Grid-technologies in Science and Education" (GRID'2012), Dubna, Russia, Jul. 2012
- External Reviewer of International Conference for High Performance Computing, Networking, Storage and Analysis (SC11), Seattle, WA, USA, Nov. 2011
Teaching
CMSC714: High Performance Computing Systems
CMSC 714 talks about selected topics in high-performance systems, including contemporary architectures, interconnection topologies, shared memory and message-passing systems, multi-threaded kernels, latency avoidance and hiding techniques, methods for data and workload partitioning, performance profiling, debugging. |
CMSC216: Introduction to Computer Systems
CMSC 216 (former CMSC313) aims to convey the fundamental concepts that enable programs to execute on real hardware. Those concepts include how the operating system virtualizes the hardware to provide basic services and abstractions to enable a user program to effectively use the available hardware resources. The course also addresses how different programming constructs and idioms work. |
CMSC102: Introduction to Information Technology
CMSC102 provides a historical and practical introduction to computer and network terminology, applications, and concepts. Students will have hands-on experience with a variety of tools available to find and access information on the Internet, to exchange information between computers, and to perform basic web design. Students will explore applications (such as browsers and spreadsheets) as well as different computing environments (such as Windows and UNIX). There will be discussions of social, legal, and ethical issues related to technology. |
Education
-
University of Maryland , College Park, MD
Pursuing Ph.D. in Computer Science, Sep. 2009 to Present -
University of Maryland , College Park, MD
M.S in Computer Science, Sep. 2009 to Dec. 2012 -
Sichuan University , Chengdu, China
B.E in Computer Science and Technology, Sep. 2004 to Jun. 2009
- Concentration: Computer Science