Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/2593929.2593934acmconferencesArticle/Chapter ViewAbstractPublication PagesicseConference Proceedingsconference-collections
Article

Automated mining of software component interactions for self-adaptation

Published: 02 June 2014 Publication History

Abstract

A self-adaptive software system should be able to monitor and analyze its runtime behavior and make adaptation decisions accordingly to meet certain desirable objectives. Traditional software adaptation techniques and recent "models@runtime" approaches usually require an a priori model for a system's dynamic behavior. Oftentimes the model is difficult to define and labor-intensive to maintain, and tends to get out of date due to adaptation and architecture decay. We propose an alternative approach that does not require defining the system's behavior model beforehand, but instead involves mining software component interactions from system execution traces to build a probabilistic usage model, which is in turn used to analyze, plan, and execute adaptations. Our preliminary evaluation of the approach against an Emergency Deployment System shows that the associations mining model can be used to effectively address a variety of adaptation needs, including (1) safely applying dynamic changes to a running software system without creating inconsistencies, (2) identifying potentially malicious (abnormal) behavior for self-protection, and (3) our ongoing research on improving deployment of software components in a distributed setting for performance self-optimization.

References

[1]
Agrawal, R., and Srikant, R. Fast algorithms for mining association rules in large databases. In 20th Int’l Conf. on Very Large Data Bases (1994), Morgan Kaufmann, Los Altos, CA, pp. 478–499.
[2]
Bobroff, N., Kochut, A., and Beaty, K. Dynamic placement of virtual machines for managing SLA violations. In 10th IFIP/IEEE International Symposium on Integrated Network Management, 2007. IM ’07 (2007), pp. 119–128.
[3]
Canavera, K. R., Esfahani, N., and Malek, S. Mining the execution history of a software system to infer the best time for its adaptation. In 20th International Symposium on the Foundations of Software Engineering (Nov. 2012).
[4]
Casalicchio, E., Menascé, D. A., and Aldhalaan, A. Autonomic resource provisioning in cloud systems with availability goals. In ACM Cloud and Autonomic Computing Conference (CAC) (2013), p. 1.
[5]
Chess, D. M., Palmer, C. C., and White, S. R. Security in an autonomic computing environment. IBM Systems Journal 42, 1 (2003), 107–118.
[6]
Cook, J. E., and Wolf, A. L. Discovering models of software processes from event-based data. ACM Trans. Softw. Eng. Methodol. 7, 3 (July 1998), 215–249.
[7]
Cook, J. E., and Wolf, A. L. Event-based detection of concurrency. In Int’l Symp. on the Foundations of Software Engineering (Lake Buena Vista, Florida, Nov. 1998), pp. 35–45.
[8]
Gaaloul, W., Baina, K., and Godart, C. Log-based mining techniques applied to web service composition reengineering. Service Oriented Computing and Applications 2, 2-3 (May 2008), 93–110.
[9]
Gaber, M. M., Zaslavsky, A., and Krishnaswamy, S. Mining data streams: A review. SIGMOD Rec. 34, 2 (June 2005), 18–26.
[10]
Garlan, D. et al. Rainbow: Architecture-based self-adaptation with reusable infrastructure. IEEE Computer 37, 10 (Oct. 2004), 46–54.
[11]
Hall, M. et al. The weka data mining software: an update. SIGKDD Explor. Newsl. 11, 1 (Nov. 2009), 10–18.
[12]
Han, J., Pei, J., and Yin, Y. Mining frequent patterns without candidate generation. In ACM SIGMOD Record (2000), vol. 29, ACM, pp. 1–12.
[13]
Kephart, J., and Chess, D. The vision of autonomic computing. Computer 36, 1 (Jan. 2003), 41–50.
[14]
Kramer, J., and Magee, J. The evolving philosophers problem: Dynamic change management. IEEE Trans. Softw. Eng. 16, 11 (Nov. 1990), 1293–1306.
[15]
Lee, W., Stolfo, S., and Mok, K. A data mining framework for building intrusion detection models. In Proceedings of the 1999 IEEE Symposium on Security and Privacy, 1999 (1999), pp. 120–132.
[16]
Li, H. et al. Pfp: parallel fp-growth for query recommendation. In Proceedings of the 2008 ACM conference on Recommender systems (2008), ACM, pp. 107–114.
[17]
Lo, D. et al. Classification of software behaviors for failure detection: a discriminative pattern mining approach. In Proceedings of the 15th ACM SIGKDD international conference on Knowledge discovery and data mining (New York, NY, USA, 2009), KDD ’09, ACM, pp. 557–566.
[18]
Ma, X. et al. Version-consistent dynamic reconfiguration of component-based distributed systems. In Int’l Symp. on the Foundations of Software Engineering (Szeged, Hungary, Sept. 2011), ACM, pp. 245–255.
[19]
Malek, S., Medvidovic, N., and Mikic-Rakic, M. An extensible framework for improving a distributed software system’s deployment architecture. IEEE Transactions on Software Engineering 38, 1 (Feb. 2012), 73–100.
[20]
Malek, S., Mikic-Rakic, M., and Medvidovic, N. A style-aware architectural middleware for resource-constrained, distributed systems. IEEE Transactions on Software Engineering 31, 3 (Mar. 2005), 256–272.
[21]
Malek, S. et al. Reconceptualizing a family of heterogeneous embedded systems via explicit architectural support. In Int’l Conf. on Software Engineering (Minneapolis, Minnesota, May 2007), pp. 591–601.
[22]
Masud, M. et al. Detecting remote exploits using data mining. Advances in Digital Forensics IV (2008), 177–189.
[23]
Motahari-Nezhad, H. R. et al. Event correlation for process discovery from web service interaction logs. The VLDB Journal 20, 3 (June 2011), 417–444.
[24]
OWASP.org. Owasp top ten project. https://www.owasp.org/index.php/Category: OWASP Top Ten Project.
[25]
Poladian, V. et al. Dynamic configuration of resource-aware services. In Int’l Conf. on Software Engineering (Scotland, UK, May 2004), pp. 604–613.
[26]
Salem, M. B., Hershkop, S., and Stolfo, S. J. A survey of insider attack detection research. In Insider Attack and Cyber Security. Springer, 2008, pp. 69–90.
[27]
Schultz, M. et al. Data mining methods for detection of new malicious executables. In 2001 IEEE Symposium on Security and Privacy, 2001. S P 2001. Proceedings (2001), pp. 38–49.
[28]
Tan, P.-N., Steinbach, M., and Kumar, V. Introduction to data mining. Addison Wesley, 2005.
[29]
Taylor, R. N., Medvidovic, N., and Dashofy, E. M. Software architecture: foundations, theory, and practice. Wiley Publishing, 2009.
[30]
Thuraisingham, B. et al. Data mining for security applications. In IEEE/IFIP International Conference on Embedded and Ubiquitous Computing, 2008. EUC ’08 (Dec. 2008), vol. 2, pp. 585–589.
[31]
Vandewoude, Y. et al. Tranquility: A low disruptive alternative to quiescence for ensuring safe dynamic updates. IEEE Trans. Softw. Eng. 33, 12 (Dec. 2007), 856–868.
[32]
Wen, L. et al. A novel approach for process mining based on event types. J. Intell. Inf. Syst. 32, 2 (Apr. 2009), 163–190.
[33]
Williams, A., and Probert, R. A measure for component interaction test coverage. In Computer Systems and Applications, ACS/IEEE International Conference on. 2001 (2001), pp. 304–311.
[34]
Xie, T. et al. Data mining for software engineering. Computer 42, 8 (Aug. 2009), 55–62.
[35]
Yuan, E., Esfahani, N., and Malek, S. A systematic survey of self-protecting software systems. ACM Trans. Auton. Adapt. Syst. 8, 4 (Jan. 2014), 17:1–17:41.

Cited By

View all
  • (2023)Software runtime monitoring with adaptive sampling rate to collect representative samples of execution tracesJournal of Systems and Software10.1016/j.jss.2023.111708202:COnline publication date: 1-Aug-2023
  • (2022)Extraction of Software Product Line Architectures from Many System VariantsHandbook of Re-Engineering Software Intensive Systems into Software Product Lines10.1007/978-3-031-11686-5_8(199-220)Online publication date: 5-Jul-2022
  • (2019)On the practical feasibility of software monitoringProceedings of the 14th International Symposium on Software Engineering for Adaptive and Self-Managing Systems10.1109/SEAMS.2019.00030(169-180)Online publication date: 25-May-2019
  • Show More Cited By

Index Terms

  1. Automated mining of software component interactions for self-adaptation

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM Conferences
    SEAMS 2014: Proceedings of the 9th International Symposium on Software Engineering for Adaptive and Self-Managing Systems
    June 2014
    174 pages
    ISBN:9781450328647
    DOI:10.1145/2593929
    Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

    Sponsors

    In-Cooperation

    • TCSE: IEEE Computer Society's Tech. Council on Software Engin.

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 02 June 2014

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. Component-Based Software
    2. Data Mining
    3. Self-Adaptation

    Qualifiers

    • Article

    Conference

    ICSE '14
    Sponsor:

    Acceptance Rates

    Overall Acceptance Rate 17 of 31 submissions, 55%

    Upcoming Conference

    ICSE 2025

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)2
    • Downloads (Last 6 weeks)0
    Reflects downloads up to 03 Jan 2025

    Other Metrics

    Citations

    Cited By

    View all
    • (2023)Software runtime monitoring with adaptive sampling rate to collect representative samples of execution tracesJournal of Systems and Software10.1016/j.jss.2023.111708202:COnline publication date: 1-Aug-2023
    • (2022)Extraction of Software Product Line Architectures from Many System VariantsHandbook of Re-Engineering Software Intensive Systems into Software Product Lines10.1007/978-3-031-11686-5_8(199-220)Online publication date: 5-Jul-2022
    • (2019)On the practical feasibility of software monitoringProceedings of the 14th International Symposium on Software Engineering for Adaptive and Self-Managing Systems10.1109/SEAMS.2019.00030(169-180)Online publication date: 25-May-2019
    • (2017)Ensuring the Consistency of Adaptation through Inter- and Intra-Component Dependency AnalysisACM Transactions on Software Engineering and Methodology10.1145/306338526:1(1-27)Online publication date: 10-May-2017
    • (2017)Strengthening Adaptation in Cyber-Physical Systems via Meta-Adaptation StrategiesACM Transactions on Cyber-Physical Systems10.1145/28233451:3(1-25)Online publication date: 4-Apr-2017
    • (2017)Automated Inference Techniques to Assist With the Construction of Self-Adaptive SoftwareManaging Trade-Offs in Adaptable Software Architectures10.1016/B978-0-12-802855-1.00006-X(131-154)Online publication date: 2017
    • (2017)State of the Art in Architectures for Self-aware Computing SystemsSelf-Aware Computing Systems10.1007/978-3-319-47474-8_8(237-275)Online publication date: 24-Jan-2017
    • (2017)Generic Architectures for Individual Self-aware Computing SystemsSelf-Aware Computing Systems10.1007/978-3-319-47474-8_6(149-189)Online publication date: 24-Jan-2017
    • (2017)Architectural Concepts for Self-aware Computing SystemsSelf-Aware Computing Systems10.1007/978-3-319-47474-8_5(109-147)Online publication date: 24-Jan-2017
    • (2017)Self-aware Computing Systems: Related Concepts and Research AreasSelf-Aware Computing Systems10.1007/978-3-319-47474-8_2(17-49)Online publication date: 24-Jan-2017
    • Show More Cited By

    View Options

    Login options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media