Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
Search
Self-awareness in software engineering: a systematic literature review
Elhabbash A., Salama M., Bahsoon R., Tino P. ACM Transactions on Autonomous and Adaptive Systems14 (2):1-42,2019.Type:Article
Date Reviewed: Jan 29 2021

As researchers in the field of distributed software systems, the authors feel as though software self-awareness is becoming more and more fundamental to their work. On the one hand, they see a great number of scientific publications available; on the other, they feel these publications are not yet well framed within computer science as a whole. So, in response, they undertook an extensive survey of about 70 scientific papers to fill this gap.

This literature review is systematic and thorough. The authors start from several broad, qualitative criteria:

(i) how the studies have defined and characterised self-awareness, (ii) what inspired researchers when engineering self-awareness, (iii) what motivates researchers to use self-awareness, (iv) what software engineering practices and software paradigms have employed self-awareness, (v) how computational self-awareness is engineered to encode self-awareness properties within software systems, (vi) how the proposed self-aware systems are evaluated to quantify the accompanying benefits and overheads, and (vii) the real-world applications that are using self-awareness.

From these criteria, they created a full-fledged review protocol composed of seven questions:

  • “RQ1. How to define and characterise self-awareness?”
  • “RQ2. What motivated the application of self-awareness in software engineering?”
  • “RQ3. What are the sources of inspiration for its engineering?”
  • “RQ4. In which software engineering practices and software paradigms is self-awareness employed?”
  • “RQ5. What are the approaches for engineering self-awareness?”
  • “RQ6. How are self-aware software systems evaluated?”
  • “RQ7. What are the working real-world applications adopting computational self- awareness?”

Each paper is analyzed and in-depth, reporting where it stands in regard to each question. Tables and graphs present the results. By the end of their review, the authors have created a complete taxonomy of software self-awareness.

The authors highlight a few shortcomings of the studies as a whole: a lack of proactive adaptation in the systems and algorithms studied; humans are still massively in the loop in supervision roles; unclear goal mapping by these software paradigms; and concerns about human privacy. On the other hand, they find the implications of these studies on future research deep, challenging, and rewarding.

The authors also honestly point out some limitations of their own work: some relevant studies are missing, possible selection bias toward the most-cited papers, and possible inaccuracy in data extraction. The appendices report not only references to all studies cited and other relevant papers, but also the complete set of criteria, from review planning to data gathering to result presentation, which are the mark of a serious and comprehensive study that will undoubtedly benefit researchers in their future work.

Reviewer:  Andrea Paramithiotti Review #: CR147173 (2106-0155)
Bookmark and Share
  Featured Reviewer  
 
General (D.2.0 )
 
 
General (K.6.0 )
 
Would you recommend this review?
yes
no
Other reviews under "General": Date
Development of distributed software
Shatz S. (ed), Macmillan Publishing Co., Inc., Indianapolis, IN, 1993. Type: Book (9780024096111)
Aug 1 1994
Fundamentals of software engineering
Ghezzi C., Jazayeri M., Mandrioli D., Prentice-Hall, Inc., Upper Saddle River, NJ, 1991. Type: Book (013820432)
Jul 1 1992
Software engineering
Sodhi J., TAB Books, Blue Ridge Summit, PA, 1991. Type: Book (9780830633425)
Feb 1 1992
more...

E-Mail This Printer-Friendly
Send Your Comments
Contact Us
Reproduction in whole or in part without permission is prohibited.   Copyright 1999-2024 ThinkLoud®
Terms of Use
| Privacy Policy