I received my Ph.D. degree from the School of Information and Computer Sciences at the University of California, Irvine in 2012. My Ph.D. advisor was Professor Richard N. Taylor. I received my Master's degree from the Hong Kong Polytechnic University and received my Bachelor's degree from the Tsinghua University, both in the computer science major.
My research interests include software engineering, software architectures, software
product lines, and self-adaptive software systems. My current research focuses on
architecture-implementation mapping that automatically processes the architectural model to generate, update, and identify
the corresponding implementation in source code to maintain their conformance. This is essential to the wide-scale application of software architectures to address
the increasing complexity and variability of modern software systems. My students
and I have developed novel techniques, including 1.x-way mapping and 1.x-line mapping, to support evolutions of both single software systems and software product lines. In
particular, we built software tools (e.g., xMapper, xLineMapper) to realize these techniques and successfully applied them to real software systems
(e.g., Apache Solr).
My research addresses implementing software architecture, maintaining architecture-implementation
conformance during architectural evolution, and tracing architectural implementation
in source code. The following is a list of research projects that I have worked on.
1.x-Line Mapping for Software Product Line Development
Architecture-implementation mapping is a process of converting architecture specifications
to and from source code with the goal of maintaining their conformance. 1.x-line mapping addresses architecture-implementation mapping during development and evolution of
a family of software products that have extensive commonality (i.e., software product
line). This is a challenge that fails to be addressed by existing approaches. The
1.x-line approach can trace a product line feature to the architecture and source
code, and automatically update the architecture and source code to maintain their
conformance when feature changes occur. We implemented an Eclipse-based toolset named
xLineMapper to support the approach and conducted a case study with the Apache Solr open-source
system. More detailed introduction of 1.x-line mapping can be found in our ICSA 2017 paper and in our ACM TOSEM paper.
A video demo of the xLineMapper tool that we built is available online.
1.x-way mapping for single system development
Architecture-implementation mapping is a process of converting architecture specifications
to and from source code with the goal of maintaining their conformance. Depending
on which artifacts can be manually changed, there are approaches of one-way mapping
and two-way mapping. 1.x-way mapping is a new approach that only allows changes to be initiated in the architecture (“1”)
and a separated portion of the code (“.x”). Suppression of manual changes of architecture-prescribed
code, automatic mapping of specific kinds of architecture changes to code in specific
ways, and support for behavioral mappings are three most important features of 1.x-way
mapping. We built a tool called xMapper for 1.x-way mapping in the ArchStudio architecture development environment. More detailed introduction of 1.x-way mapping
can be found in our ICSE 2012 paper and in our ACM TOSEM paper.
A video demo of the xMapper tool that we built is available online.
ArchFeature Product Line Architecture Modeling
ArchFeature is a modeling approach and tool that we developed to reduce the overhead
and effort involved in product line architecture modeling. It specifically addresses
the difficulty of manually editing and updating guard conditions accompanied with
variation points in the PLA (i.e. variability modeling), and the cognition overhead
of identifying feature-related architecture elements. ArchFeature extends an existing
XML-based architecture description language, xADL and integrates feature specification
into the product line architecture model. It then provides tool support to fully automate
operations such as variability modeling, development and maintenance of feature-architecture
relationships, and derivation of architecture instances for a product of the product
line. ArchFeature allows us to easily create and maintain a product line architecture
model, so that we can focus on the research on implementation and evolution of product
CS 311 - Data Structures and Algorithms: Fall 2018, Spring 2019, Fall 2019, Spring 2020, Fall 2020, Spring 2021
CS 441 - Software Engineering: Fall 2018, Spring 2019, Fall 2019, Spring 2020
CS 542 - Design Patterns and Object-Oriented Analysis: Fall 2021
SE 370 - Introduction to Software Engineering: Spring 2021
* SE 451 - Software Requirements and Design: Fall 2019, Fall 2020, Fall 2021
* SE 461 - Software Testing and Quality: Spring 2020, Spring 2021
* SE 481 - Software Project Planning and Management: Fall 2020, Fall 2021
* New core courses that I developed and taught for the Software Engineering Bachelor's
Program at CSUSM
- Xin Ye, Yongjie Zheng, Wajdi Aljedaani, and Mohamed Wiem Mkaouer. Recommending pull request reviewers based on code changes. Soft Computing, 25, 5619–5632, 2021.
- Yongjie Zheng, Cuong Cu, and Richard N. Taylor. Maintaining Architecture-Implementation Conformance to Support Architecture Centrality:
From Single System to Product Line Development. ACM Transactions on Software Engineering and Methodology. 27, 2, Article 8, 52 pages, June 2018.
- Yongjie Zheng and Richard N. Taylor. A classification and rationalization of model-based software development, Expert's Voice, Software and Systems Modeling 12 (4), 669-678, October 2013.
- Yongjie Zheng and Alvin T.S. Chan. MobiGATE: A Mobile Computing Middleware for the Active Deployment of Transport Services, IEEE Transactions on Software Engineering, vol. 32, no. 1, pp 35-50, Jan 2006.
- Yongjie Zheng, Alvin T.S. Chan, and Grace Ngai. Applying Coordination for Service Adaptation in a Mobile Computing Environment, IEEE Internet Computing, pp. 61-67, vol. 10, no. 5, Sep/Oct 2006.
- Yongjie Zheng, Alvin T.S. Chan, and Grace Ngai. MCL: A MobiGATE Coordination Language for Highly Adaptive and Reconfigurable Mobile
Middleware, Sofware Practice and Experience, special issue on Auto-adaptive and Reconfigurable
Systems, 36(11-12), pp1355-1380, 2006.
Conference Proceedings and Workshops
- Cuong Cu, Rachel Culver, and Yongjie Zheng. Dynamic Architecture-Implementation Mapping for Architecture-Based Runtime Software
Adaptation. In Proceedings of the 32nd International Conference on Software Engineering & Knowledge
Engineering (SEKE 2020), pp. 135-140. July 9 - 19, 2020. (SEKE 2020 Best Demo Award)
- Cuong Cu, Xin Ye, and Yongjie Zheng. xLineMapper: A Product Line Feature-Architecture-Implementation Mapping Toolset. In Proceedings of the 41st International Conference on Software Engineering (ICSE
2019), Demonstrations Track, pp. 87-90. Montréal, QC, Canada. May 25 - 31, 2019.
- Yongjie Zheng, Cuong Cu, and Hazeline U. Asuncion. Mapping Features to Source Code through Product Line Architecture: Traceability and
Conformance. 2017 IEEE International Conference on Software Architecture (ICSA 2017, formerly
WICSA), Gothenburg, Sweden, pp. 225-234, 2017. Acceptance rate: 22% (21/95).
- Gharib Gharibi and Yongjie Zheng. ArchFeature: A Modeling Environment Integrating
Features into Product Line Architectures. ACM/IEEE 19th International Conference on
Model Driven Engineering Languages and Systems (MODELS 2016), Tool Demonstrations,
Saint Malo, Brittany, France, October 02 - 07, 2016.
- Cuong Cu and Yongjie Zheng. Architecture-Centric Derivation of Products in a Software Product Line. In Proceedings of the 8th International Workshop on Modeling in Software Engineering
(MiSE 2016), held in conjunction with the 38th International Conference on Software
Engineering, pp. 27-33, Austin, TX, May 14 - 22, 2016.
- Yongjie Zheng and Cuong Cu. Towards Implementing Product Line Architecture. In Proceedings of the 1st International Workshop on Bringing Architectural Design
Thinking into Developers' Daily Activities (Bridge 2016), held in conjunction with
the 38th International Conference on Software Engineering, pp. 5-10, Austin, TX, May
14 - 22, 2016.
- Gharib Gharibi and Yongjie Zheng. ArchFeature: Integrating Features into Product Line Architecture. In Proceedings of the 31st Annual ACM Symposium on Applied Computing (SAC 2016),
Track on Software Architecture: Theory, Technology, and Applications (SA-TTA), pp.
1302-1308, Pisa, Italy, April 04 - 08, 2016.
- Yongjie Zheng and Richard N. Taylor. Enhancing Architecture-Implementation Conformance with Change Management and Support
for Behavioral Mapping. In Proceedings of the 34th International Conference on Software Engineering (ICSE
2012), pp. 628-638, Zurich, Switzerland, June 02 - 09, 2012. Acceptance rate: 21%
- Yongjie Zheng and Richard N. Taylor. xMapper: An Architecture-Implementation Mapping Tool. In Proceedings of the 34th International Conference on Software Engineering (ICSE
2012), Informal Research Demonstration, pp. 1461-1462, Zurich, Switzerland, June 02
- 09, 2012.
- Yongjie Zheng and Richard N. Taylor. Taming Changes With 1.x-Way Architecture-Implementation Mapping. In Proceedings of the 26th IEEE/ACM International Conference on Automated Software
Engineering (ASE 2011), pp. 396-399, Lawrence, Kansas, November 6 - 10, 2011.
- Yongjie Zheng. 1.x-Way Architecture-Implementation Mapping. In Proceedings of the 33rd International Conference on Software Engineering (ICSE
2011), Doctoral Symposium, pp. 1118-1121, Honolulu, Hawaii, May 21 - 28, 2011.
- Yongjie Zheng and Alvin T. S. Chan. Coordinated Composition of Services for Adaptive
Mobile Middleware. In Proceedings of the 11th IEEE Symposium on Computers and Communications
(ISCC 2006), pp. 789-794, Calkiari, Sardinia, Italy, June 26 - 29, 2006.
- Yongjie Zheng and Alvin T. S. Chan. Stream Composition for Highly Adaptive and Reconfigurable
Mobile Middleware. In Proceedings of the 28th Annual International Computer Software
and Applications Conference (COMPSAC 2004), pp. 122-127, Hong Kong, 28 - 30 September,
- Yongjie Zheng and Alvin T.S. Chan. MobiGATE: A Mobile Gateway Proxy for the Active
Deployment of Transport Entities. In Proceedings of the 33rd IEEE International Conference
on Parallel Processing (ICPP 2004), pp. 566-573, Montreal, Quebec, Canada, 15 - 18
|Sirena Murphree is a Software Engineering Undergraduate at CSUSM. She worked full time in in the
field of assembly line manufacturing while earning an Associate of Science Degree
in Digital Imaging from Palomar College and now seeks a more meaningful career in
finding creative solutions in the tech-world. During the school year she has worked
as an Instructional Student Assistant, tutor, and grader for the Computer Science
department; while in the summer she is participating in the CSUSM Summer Scholars
program under Dr. Zheng's direction where she can use her design background in researching
an architecture-focused approach to software development. These opportunities provide
exposure and experience in the diverse fields of computer science.
Erik Anderson is a senior studying Computer Science at CSUSM. He was a volunteer for HappyCoding
at the school's annual Super STEM Saturday. When he is not researching or studying,
Erik enjoys hiking and photography.
A part of Summer Scholars 2019, Erik is researching an architecture-focused approach
to software development. He is using an Eclipse plug in called ArchStudio to break
an open source program down into components. By this process Erik hopes to discover
any differences compared to conventional software development methods.
|Rachel Culver will be graduating from California State University San Marcos June 2020 with a degree
in Computer Science. She has received an Associate in Science, Associate in Arts,
and Certificate of Achievement from Palomar Jr. College. During the spring and fall
semesters she works at Palomar Jr. College as an embedded tutor for computer science
and information technology classes as well as a tutor in the Computer Science/Information
Technology Open Lab. Currently, she is interning with Dr. Yongjie Zheng in his work
on architecture-centric software development.
|Martin Jarquin is a Computer Science Major at CSUSM. During the summer season he is the assistant
pool manager for the City of Escondido. He recently discovered Virtual Reality development
and that has become a interest of his that he hopes to pursue after graduation. After
nearly completing all the math and physics courses Palomar has to offer he is excited
to put it to good use in his field.