Your  Account:

Yongjie Zheng

Yongjie Zheng

Yongjie Zheng profile picture
Associate Professor, Ph.D. CSTEM Engineering Program
(760) 750-8023 yzheng@csusm.edu Viasat Engineering Pavilion 6012

About Yongjie Zheng

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., xMapperxLineMapper) to realize these techniques and successfully applied them to real software systems (e.g., Apache Solr). 

[ back to sections menu ]

Research

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.

Watch video demo of the xLineMapper tool that we built.


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.

Watch video demo of the xMapper tool that we built.


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 line architectures.

[ back to sections menu ]

Courses

CS 311 - Data Structures and Algorithms: Fall 2018, Spring 2019, Fall 2019, Spring 2020, Fall 2020, Spring 2021, Spring 2022, Fall 2022

CS 441 - Software Engineering: Fall 2018, Spring 2019, Fall 2019, Spring 2020, Spring 2022

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, Fall 2022

* SE 461 - Software Testing and Quality: Spring 2020, Spring 2021, Spring 2022

* SE 481 - Software Project Planning and Management: Fall 2020, Fall 2021, Fall 2022

* New core courses that I developed and taught for the Software Engineering Bachelor's Program at CSUSM

[ back to sections menu ]

Publications

JOURNAL ARTICLES

  1. Xin Ye, Yongjie Zheng, Wajdi Aljedaani, and Mohamed Wiem Mkaouer. Recommending pull request reviewers based on code changes. Soft Computing, 25, 5619–5632, 2021.
  2. Yongjie Zheng, Cuong Cu, and Richard N. Taylor. Maintaining Architecture-Implementation Conformance to Support Architecture Centrality: From Single System to Product Line DevelopmentACM Transactions on Software Engineering and Methodology. 27, 2, Article 8, 52 pages, June 2018.
  3. 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.
  4. 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. 
  5. 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.
  6. 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

  1. 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)
  2. 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.
  3. 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).
  4. 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.
  5. 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.
  6. 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.
  7. 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.
  8. 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% (87/408).
  9. 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.
  10. 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.
  11. 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.
  12. 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.
  13. 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, 2004.
  14. 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 August, 2004.

[ back to sections menu ]

Students

Sirena
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

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
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
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.

[ back to sections menu ]