Advertisement

High-Confidence Compositional Reliability Assessment of SOA-Based Systems Using Machine Learning Techniques

  • Venkata U. B. Challagulla
  • Farokh B. Bastani
  • I-Ling Yen
Chapter

Service-oriented architecture (SOA) techniques are being increasingly used for developing critical applications, especially network-centric systems. While the SOA paradigm provides flexibility and agility to better respond to changing business requirements, the task of assessing the reliability of SOA-based systems is quite challenging. Deriving high confidence reliability estimates for mission-critical systems can require huge costs and time. SOAsystems/ applications are built by using either atomic or composite services as building blocks. These services are generally assumed to be realized with reuse and logical composition of components. One approach for assessing the reliability of SOA-based systems is to use AI reasoning techniques on dynamically collected failure data of each service and its components as one of the evidences together with results from random testing. Memory-Based Reasoning technique and Bayesian Belief Net-works are verified as the reasoning tools best suited to guide the prediction analysis. A framework constructed from the above approach identifies the least tested and “high usage” input subdomains of the service(s) and performs necessary remedial actions depending on the predicted results.

Keywords

Markov Chain Model Service Component Software Reliability Composite Service Operational Profile 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. [1]
    Amman PE, Brilliant SS, Knight JC (1994) The effect of imperfect error detection on reliability assessment via life testing. IEEE Transactions on Software Engineering 20(2):142-148CrossRefGoogle Scholar
  2. [2]
    Arsanjani A (2004) Service-Oriented modeling and architecture. White paper. IBM developerWorks. http://www.ibm.com/developerworks/webservices/library/ws-soa-design1/. Accessed 24 October 2008
  3. [3]
    Canfora G, Penta MD (2006) Testing services and service-centric systems: challenges and opportunities. IT Professional 8(2):10-17CrossRefGoogle Scholar
  4. [4]
    Challagulla VUB, Bastani FB, Yen IL (2008) Empirical assessment of machine learning based software defect prediction techniques. International Journal on Artificial Intelligence Tools 17(2):389-400CrossRefGoogle Scholar
  5. [5]
    Cukic B, Bastani FB (1996) On reducing the sensitivity of software reliability to variations in the operational profile. In: Proceedings of the 7th International Symposium on Software Reliability Engineering, White Plains, October 1996, pp 45-54Google Scholar
  6. [6]
    Cukic B, Gunel E, Singh H (2003) The theory of software reliability corroboration E86-D(10):2121-2129Google Scholar
  7. [7]
    Delgado N, Gates AQ, Roach S (2004) A taxonomy and catalog of runtime software-fault monitoring tools. IEEE Transactions on Software Engineering 30(12):859-972CrossRefGoogle Scholar
  8. [8]
    Fenton N, Littlewood B, Neil M (1998) Assessing dependability of safety critical systems using diverse evidence. IEE Proceedings Software Engineering 145(1):35-39CrossRefGoogle Scholar
  9. [9]
    Fenton N, Neil M (1999) A critique of software defect prediction models. IEEE Transactions on Software Engineering 25(5):675-689CrossRefGoogle Scholar
  10. [10]
    Frankl P, Hamlet D, Littlewood B et al (1997) Choosing a testing method to deliver reliability. In: Proceedings of the 19th International Conference on Software Engineering, Boston, May 1997, pp 68-78Google Scholar
  11. [11]
    Gao T, Ma H, Yen IL et al (2005) Toward QoS analysis of adaptive service-oriented architecture. In: Proceedings of the IEEE International Workshop on Service-Oriented System Engineering, Beijing, October 2005, pp 219-226Google Scholar
  12. [12]
    Gao J, Wu Y, Chang L et al (2006) Measuring component-based systems using a systematic approach and environment. In: Proceedings of the 2nd IEEE International Workshop on Service-Oriented System Engineering, Shanghai, May 2006, pp 121-129Google Scholar
  13. [13]
    Gokhale S, Wong WE, Trivedi KS et al (1998) An analytical approach to architecture based software reliability prediction. In: Proceedings of 3rd International Computer Performance and Dependability Symposium, Los Alamitos, 1998, pp 13-22Google Scholar
  14. [14]
    Grassi V, Patella S (2006) Reliability prediction for service-oriented computing environments. IEEE Internet Computing 10(3):43-49CrossRefGoogle Scholar
  15. [15]
    Hamlet D, Mason D, Woit D (2001) Theory of software reliability based on components. In: Proceedings of the 23rd International Conference on Software Engineering, Toronto, May 2001, pp 361-370Google Scholar
  16. [16]
    Kappes M, Kintala CMR, Klemm RP (2000) Formal limits on determining reliabilities of component-based software systems. In: Proceedings of the 11th International Symposium on Software Reliability Engineering, San Jose, October 2000, pp 356-364Google Scholar
  17. [17]
    Kuball S, May J, Hughes G (1999) Building a system failure rate estimator by identifying component failure rates. In: Proceedings of the 10th International Symposium on Software Reliability Engineering, Boca Raton, November 1999, pp 32-41Google Scholar
  18. [18]
    Krishnamurthy S, Mathur AP (1997) On the estimation of reliability of a software system using reliabilities of its components. In: Proceedings of 8th International Symposium on Software Reliability Engineering, Albuquerque, November 1997, pp 146-155Google Scholar
  19. [19]
    Laprie JC, Kanoun K (1996) Software Reliability and System Reliability. McGraw-Hill, New YorkGoogle Scholar
  20. [20]
    Littlewood B, Strigini L (2000) Software reliability and dependability: A roadmap. In: Proceedings of the 22nd International Conference on Software Engineering, Limerick, June 2000, pp 177-188Google Scholar
  21. [21]
    Lo JH, Huang CY, Kuo SY et al. (2003) Sensitivity Analysis of Software Reliability for Component-Based Software Applications. In: Proceedings of the 27th Annual International Computer Software and Applications Conference, Dallas, November 2003, pp 500-505Google Scholar
  22. [22]
    May J (2002) Testing the reliability of component-based safety critical software. In: Proceedings of the 20th International System Safety Conference, Denver, August 2002, pp 214-224Google Scholar
  23. [23]
    Miller KW, Morell LJ, Noonan RE (1992) Estimating the probability of failure when testing reveals no failures. IEEE Transactions on Software Engineering 18(1):33-43CrossRefGoogle Scholar
  24. [24]
    Mitchell T (1997) Machine Learning. McGraw-Hill Book Co., SingaporeMATHGoogle Scholar
  25. [25]
    Musa JD (1993) Operational Profiles in Software-Reliability Engineering. IEEE Software 10(2):14-32CrossRefGoogle Scholar
  26. [26]
    Paul RA (2005a) DoD towards software services. In: Proceedings of the 10th IEEE International Workshop on Object-Oriented Real-Time Dependable Systems, Sedona, February 2005, pp 3-6Google Scholar
  27. [27]
    Paul RA (2005b) Tomorrow's needs - yesterday's technology: DoD's architectural dilemma & plan for resolution. In: The 9th IEEE International Symposium on High-Assurance Systems Engineering, Heidelberg, October 2005, pp 9-12Google Scholar
  28. [28]
    Schneidewind NF (1998) Methods for assessing COTS reliability, maintainability, and availability. In: Proceedings of the International Conference on Software Maintenance, Bethesda, November 1998, pp 224-225Google Scholar
  29. [29]
    Tsai WT (2005) Service-oriented system engineering: a new paradigm. In: Proceedings of the IEEE International Workshop on Service-Oriented System Engineering, Beijing, October 2005, pp 3-6Google Scholar
  30. [30]
    Tsai WT, Zhang D, Chen Y et al (2004) A software reliability model for web services. In: Proceedings of the 8th IASTED International Conference on Software Engineering and Applications, Cambridge, November 2004, pp 144-149Google Scholar
  31. [31]
    Tsai WT, Chen Y, Paul RA (2005) Specification-based verification and validation of Web services and service-oriented operating systems. In: Proceedings of the 10th IEEE International Workshop on Object-Oriented Real-Time Dependable Systems, Sedona, February 2005, pp 139-147Google Scholar
  32. [32]
    Voas J (2001) Why is it so hard to predict software system trustworthiness from software component trustworthiness?. In: Proceedings of the 20th IEEE Symposium on Reliable Distributed Systems, New Orleans, October 2001, p 179Google Scholar
  33. [33]
    Wohlin C, Runeson P (1998) Reliability certification of software components. In: Proceedings of the 5th IEEE International Conference on Software Reuse, Victoria, June 1998, pp 56-65Google Scholar
  34. [34]
    Woit D, Mason D (1998) Software component independence. In: Proceedings of the 3rd IEEE High-Assurance Systems Engineering Symposium, Washington, November 1998, pp 74-81Google Scholar
  35. [35]
    Yacoub SM, Cukic B, Ammar HH (1999) A scenario-based reliability analysis of component-based software. In: Proceedings of 10th International Symposium on Software Reliability Engineering, Boca Raton, November 1999, pp 22-31Google Scholar
  36. [36]
    Yu Y, Johnson BW (2003) A BBN approach to certifying the reliability of COTS software system reliability. In: Proceedings of the Annual Reliability and Maintainability Symposium, Tampa, January 2003, pp 19-24Google Scholar
  37. [37]
    Zhang D (2000) Applying machine learning algorithms in software development. In: Proceedings of the Monterey Workshop on Modelling Software System Structures in a Fastly Moving Scenario, Santa Margherita Ligure, June 2000, pp 275-291Google Scholar
  38. [38]
    Zhang J (2004) An approach to facilitate reliability testing of web services components. In: Proceedings of the 15th International Symposium on Software Reliability Engineering, Saint-Malo, November 2004, pp 210-218Google Scholar
  39. [39]
    Zhu Y, Gao J (2003) A Method to calculate the reliability of component-based software. In: Proceedings of the 12th Asian Test Symposium, Xian, November 2003, pp. 488-491Google Scholar

Copyright information

© Springer-Verlag US 2009

Authors and Affiliations

  1. 1.Department of Computer ScienceUniversity of Texas at DallasDallasUSA

Personalised recommendations