{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,6,25]],"date-time":"2025-06-25T01:10:10Z","timestamp":1750813810290,"version":"3.41.0"},"reference-count":50,"publisher":"Springer Science and Business Media LLC","issue":"1","license":[{"start":{"date-parts":[[2017,8,22]],"date-time":"2017-08-22T00:00:00Z","timestamp":1503360000000},"content-version":"unspecified","delay-in-days":0,"URL":"http:\/\/www.springer.com\/tdm"}],"funder":[{"DOI":"10.13039\/501100004359","name":"Vetenskapsr\u00e5det","doi-asserted-by":"publisher","award":["2011-6185"],"award-info":[{"award-number":["2011-6185"]}],"id":[{"id":"10.13039\/501100004359","id-type":"DOI","asserted-by":"publisher"}]}],"content-domain":{"domain":["link.springer.com"],"crossmark-restriction":false},"short-container-title":["Autom Softw Eng"],"published-print":{"date-parts":[[2018,3]]},"DOI":"10.1007\/s10515-017-0219-0","type":"journal-article","created":{"date-parts":[[2017,8,22]],"date-time":"2017-08-22T15:02:40Z","timestamp":1503414160000},"page":"47-99","update-policy":"https:\/\/doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":1,"title":["Self-adaptive concurrent components"],"prefix":"10.1007","volume":"25","author":[{"ORCID":"https:\/\/orcid.org\/0000-0003-3686-8568","authenticated-orcid":false,"given":"Erik","family":"\u00d6sterlund","sequence":"first","affiliation":[]},{"given":"Welf","family":"L\u00f6we","sequence":"additional","affiliation":[]}],"member":"297","published-online":{"date-parts":[[2017,8,22]]},"reference":[{"key":"219_CR1","doi-asserted-by":"publisher","unstructured":"Abbas, N., Andersson, J., L\u00f6we, W.: Autonomic software product lines (ASPL). In: Proceedings of the Fourth European Conference on Software Architecture: Companion Volume, ACM, New York, NY, USA, ECSA \u201910, pp. 324\u2013331 (2010). doi: 10.1145\/1842752.1842812","DOI":"10.1145\/1842752.1842812"},{"key":"219_CR2","doi-asserted-by":"publisher","unstructured":"Amdahl, G.M.: Validity of the single processor approach to achieving large scale computing capabilities. In: Proceedings of the April 18\u201320, 1967, Spring Joint Computer Conference, ACM, AFIPS \u201967 (Spring), pp. 483\u2013485 (1967). doi: 10.1145\/1465482.1465560","DOI":"10.1145\/1465482.1465560"},{"key":"219_CR3","doi-asserted-by":"crossref","unstructured":"Ananian, C.S., Asanovic, K., Kuszmaul, B.C., Leiserson, C.E., Lie, S.: Unbounded transactional memory. In: High-Performance Computer Architecture, 2005. HPCA-11. 11th International Symposium on, IEEE, pp. 316\u2013327 (2005)","DOI":"10.1109\/HPCA.2005.41"},{"key":"219_CR4","doi-asserted-by":"crossref","unstructured":"Andersson, J., Ericsson, M., Ke\u00dfler, C.W., L\u00f6we, W.: Profile-guided composition. In: Software Composition, pp. 157\u2013164 (2008)","DOI":"10.1007\/978-3-540-78789-1_12"},{"key":"219_CR5","doi-asserted-by":"publisher","unstructured":"Damron, P., Fedorova, A., Lev, Y., Luchangco, V., Moir, M., Nussbaum, D.: Hybrid transactional memory. In: Proceedings of the 12th International Conference on Architectural Support for Programming Languages and Operating Systems, ACM, New York, NY, USA, ASPLOS XII, pp. 336\u2013346 (2006). doi: 10.1145\/1168857.1168900","DOI":"10.1145\/1168857.1168900"},{"key":"219_CR6","doi-asserted-by":"crossref","unstructured":"Dice, D., Shalev, O., Shavit, N.: Transactional locking II. In: Distributed Computing, Springer, pp. 194\u2013208 (2006)","DOI":"10.1007\/11864219_14"},{"key":"219_CR7","doi-asserted-by":"crossref","unstructured":"Dig, D., Marrero, J., Ernst, M.D.: Refactoring sequential java code for concurrency via concurrent libraries. In: Proceedings of the 31st International Conference on Software Engineering, IEEE Computer Society, pp. 397\u2013407 (2009)","DOI":"10.1109\/ICSE.2009.5070539"},{"issue":"11","key":"219_CR8","doi-asserted-by":"publisher","first-page":"966","DOI":"10.1145\/359642.359655","volume":"21","author":"EW Dijkstra","year":"1978","unstructured":"Dijkstra, E.W., Lamport, L., Martin, A.J., Scholten, C.S., Steffens, E.F.M.: On-the-fly garbage collection: an exercise in cooperation. Commun. ACM 21(11), 966\u2013975 (1978). doi: 10.1145\/359642.359655","journal-title":"Commun. ACM"},{"key":"219_CR9","doi-asserted-by":"crossref","unstructured":"Felber, P., Fetzer, C., Riegel, T.: Dynamic performance tuning of word-based software transactional memory. In: Proceedings of the 13th ACM SIGPLAN Symposium on Principles and practice of parallel programming, ACM, pp. 237\u2013246 (2008)","DOI":"10.1145\/1345206.1345241"},{"key":"219_CR10","doi-asserted-by":"crossref","unstructured":"Fomitchev, M., Ruppert, E.: Lock-free linked lists and skip lists. In: Proceedings of the Twenty-Third Annual ACM Symposium on Principles of Distributed Computing, ACM, pp. 50\u201359 (2004)","DOI":"10.1145\/1011767.1011776"},{"issue":"2","key":"219_CR11","doi-asserted-by":"crossref","first-page":"216","DOI":"10.1109\/JPROC.2004.840301","volume":"93","author":"M Frigo","year":"2005","unstructured":"Frigo, M., Johnson, S.G.: The design and implementation of FFTW3. Proc. IEEE 93(2), 216\u2013231 (2005). Special issue \u201cProgram Generation, Optimization, and Platform Adaptation\u201d","journal-title":"Proc. IEEE"},{"key":"219_CR12","volume-title":"Design Patterns\u2014Elements of Reusable Object-Oriented Software","author":"E Gamma","year":"1995","unstructured":"Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns\u2014Elements of Reusable Object-Oriented Software. Addison-Wesley, Reading (1995)"},{"issue":"6","key":"219_CR13","doi-asserted-by":"publisher","first-page":"99","DOI":"10.1145\/2813885.2738006","volume":"50","author":"P Gammie","year":"2015","unstructured":"Gammie, P., Hosking, A.L., Engelhardt, K.: Relaxing safely: verified on-the-fly garbage collection for x86-TSO. SIGPLAN Not. 50(6), 99\u2013109 (2015). doi: 10.1145\/2813885.2738006","journal-title":"SIGPLAN Not."},{"key":"219_CR14","doi-asserted-by":"crossref","unstructured":"Hammond, L., Wong, V., Chen, M., Carlstrom, B.D., Davis, J.D., Hertzberg, B., Prabhu, M.K., Wijaya, H., Kozyrakis, C., Olukotun, K.: Transactional memory coherence and consistency. In: ACM SIGARCH Computer Architecture News, IEEE Computer Society, vol.\u00a032, pp. 102 (2004)","DOI":"10.1109\/ISCA.2004.1310767"},{"issue":"1","key":"219_CR15","doi-asserted-by":"publisher","first-page":"441","DOI":"10.1145\/1594834.1480935","volume":"44","author":"C Hawblitzel","year":"2009","unstructured":"Hawblitzel, C., Petrank, E.: Automated verification of practical garbage collectors. SIGPLAN Not. 44(1), 441\u2013453 (2009). doi: 10.1145\/1594834.1480935","journal-title":"SIGPLAN Not."},{"key":"219_CR16","doi-asserted-by":"crossref","unstructured":"Herlihy, M., Moss, J.E.B.: Transactional memory: architectural support for lock-free data structures, vol.\u00a021. ACM (1993)","DOI":"10.1145\/165123.165164"},{"issue":"3","key":"219_CR17","doi-asserted-by":"crossref","first-page":"463","DOI":"10.1145\/78969.78972","volume":"12","author":"MP Herlihy","year":"1990","unstructured":"Herlihy, M.P., Wing, J.M.: Linearizability: a correctness condition for concurrent objects. ACM Trans. Program. Lang. Syst. TOPLAS 12(3), 463\u2013492 (1990)","journal-title":"ACM Trans. Program. Lang. Syst. TOPLAS"},{"key":"219_CR18","doi-asserted-by":"crossref","unstructured":"Herlihy, M., Luchangco, V., Moir, M., Scherer III, W.N.: Software transactional memory for dynamic-sized data structures. In: Proceedings of the Twenty-Second Annual Symposium on Principles of Distributed Computing, ACM, pp. 92\u2013101 (2003)","DOI":"10.1145\/872035.872048"},{"key":"219_CR19","doi-asserted-by":"crossref","unstructured":"Herlihy, M., Shavit, N., Tzafrir, M.: Hopscotch hashing. In: Distributed Computing, Springer, pp. 350\u2013364 (2008)","DOI":"10.1007\/978-3-540-87779-0_24"},{"issue":"5","key":"219_CR20","doi-asserted-by":"publisher","first-page":"481","DOI":"10.1002\/cpe.1844","volume":"24","author":"C Kessler","year":"2012","unstructured":"Kessler, C., L\u00f6we, W.: Optimized composition of performance-aware parallel components. Concurr. Comput. Pract. Exp. 24(5), 481\u2013498 (2012). doi: 10.1002\/cpe.1844","journal-title":"Concurr. Comput. Pract. Exp."},{"key":"219_CR21","unstructured":"Kirchner, J., Heberle, A., L\u00f6we, W.: Evaluation of the employment of machine learning approaches and strategies for service recommendation. In: Service Oriented and Cloud Computing\u20144th European Conference, ESOCC 2015, Taormina, Italy, Sept 15\u201317, 2015. Proceedings, pp. 95\u2013109 (2015a)"},{"issue":"3&4","key":"219_CR22","first-page":"347","volume":"8","author":"J Kirchner","year":"2015","unstructured":"Kirchner, J., Heberle, A., L\u00f6we, W.: Service recommendation using machine learning methods based on measured consumer experiences within a service market. Int. J. Adv. Intell. Syst. 8(3&4), 347\u2013373 (2015b)","journal-title":"Int. J. Adv. Intell. Syst."},{"key":"219_CR23","doi-asserted-by":"crossref","unstructured":"Kjolstad, F., Dig, D., Acevedo, G., Snir, M.: Transformation for class immutability. In: Proceedings of the 33rd International Conference on Software Engineering, ACM, pp. 61\u201370 (2011)","DOI":"10.1145\/1985793.1985803"},{"issue":"8","key":"219_CR24","doi-asserted-by":"crossref","first-page":"223","DOI":"10.1145\/2038037.1941585","volume":"46","author":"A Kogan","year":"2011","unstructured":"Kogan, A., Petrank, E.: Wait-free queues with multiple enqueuers and dequeuers. ACM SIGPLAN Not. 46(8), 223\u2013234 (2011)","journal-title":"ACM SIGPLAN Not."},{"key":"219_CR25","doi-asserted-by":"crossref","first-page":"141","DOI":"10.1145\/2370036.2145835","volume":"47","author":"A Kogan","year":"2012","unstructured":"Kogan, A., Petrank, E.: A methodology for creating fast wait-free data structures. ACM SIGPLAN Not. ACM 47, 141\u2013150 (2012)","journal-title":"ACM SIGPLAN Not. ACM"},{"issue":"9","key":"219_CR26","doi-asserted-by":"publisher","first-page":"690","DOI":"10.1109\/TC.1979.1675439","volume":"C\u201328","author":"L Lamport","year":"1979","unstructured":"Lamport, L.: How to make a multiprocessor computer that correctly executes multiprocess programs. IEEE Trans. Comput. C\u201328(9), 690\u2013691 (1979). doi: 10.1109\/TC.1979.1675439","journal-title":"IEEE Trans. Comput."},{"key":"219_CR27","unstructured":"Li, X., Garzar\u00e1n, M.J., Padua, D.: A dynamically tuned sorting library. In: Proceedings of the International Symposium on Code Generation and Optimization (CGO\u201904), IEEE Computer Society, pp. 111ff (2004)"},{"key":"219_CR28","doi-asserted-by":"crossref","unstructured":"L\u00f6we, W., Neumann, R., Trapp, M., Zimmermann, W.: Robust dynamic exchange of implementation aspects. In: TOOLS (29), pp. 351\u2013360 (1999)","DOI":"10.1109\/TOOLS.1999.779066"},{"key":"219_CR29","doi-asserted-by":"crossref","unstructured":"Michael, M.M.: High performance dynamic lock-free hash tables and list-based sets. In: Proceedings of the Fourteenth Annual ACM Symposium on Parallel Algorithms and Architectures, ACM, pp. 73\u201382 (2002)","DOI":"10.1145\/564870.564881"},{"issue":"6","key":"219_CR30","doi-asserted-by":"crossref","first-page":"491","DOI":"10.1109\/TPDS.2004.8","volume":"15","author":"MM Michael","year":"2004","unstructured":"Michael, M.M.: Hazard pointers: safe memory reclamation for lock-free objects. IEEE Trans. Parallel Distrib. Syst. 15(6), 491\u2013504 (2004)","journal-title":"IEEE Trans. Parallel Distrib. Syst."},{"key":"219_CR31","doi-asserted-by":"crossref","unstructured":"Michael, M.M., Scott, M.L.: Simple, fast, and practical non-blocking and blocking concurrent queue algorithms. In: Proceedings of the Fifteenth Annual ACM Symposium on Principles of Distributed Computing, ACM, pp. 267\u2013275 (1996)","DOI":"10.1145\/248052.248106"},{"key":"219_CR32","doi-asserted-by":"crossref","unstructured":"Moir, M.: Transparent support for wait-free transactions. In: Distributed Algorithms, Springer, pp. 305\u2013319 (1997)","DOI":"10.1007\/BFb0030692"},{"key":"219_CR33","unstructured":"Moura, J.M.F., Johnson, J., Johnson, R.W., Padua, D., Prasanna, V.K., P\u00fcschel, M., Veloso, M.: SPIRAL: Automatic implementation of signal processing algorithms. In: High Performance Embedded Computing (HPEC) (2000)"},{"key":"219_CR34","unstructured":"Oracle: Object (Java Platform SE 8). (2016). https:\/\/docs.oracle.com\/javase\/8\/docs\/api\/java\/lang\/Object.html . Online, Accessed 13 July 2016"},{"key":"219_CR35","doi-asserted-by":"crossref","unstructured":"\u00d6sterlund, E., L\u00f6we, W.: Dynamically transforming data structures. In: Automated Software Engineering (ASE), 2013 IEEE\/ACM 28th International Conference on, IEEE, pp. 410\u2013420 (2013)","DOI":"10.1109\/ASE.2013.6693099"},{"key":"219_CR36","doi-asserted-by":"publisher","unstructured":"\u00d6sterlund, E., L\u00f6we, W.: Concurrent transformation components using contention context sensors. In: Proceedings of the 29th ACM\/IEEE International Conference on Automated Software Engineering, ACM, New York, NY, USA, ASE \u201914, pp. 223\u2013234 (2014). doi: 10.1145\/2642937.2642995","DOI":"10.1145\/2642937.2642995"},{"issue":"11","key":"219_CR37","doi-asserted-by":"publisher","first-page":"56","DOI":"10.1145\/2887746.2754177","volume":"50","author":"E \u00d6sterlund","year":"2015","unstructured":"\u00d6sterlund, E., L\u00f6we, W.: Concurrent compaction using a field pinning protocol. SIGPLAN Not. 50(11), 56\u201369 (2015). doi: 10.1145\/2887746.2754177","journal-title":"SIGPLAN Not."},{"key":"219_CR38","doi-asserted-by":"publisher","unstructured":"Pirinen, P.P.: Barrier techniques for incremental tracing. In: Proceedings of the 1st International Symposium on Memory Management, ACM, New York, NY, USA, ISMM \u201998, pp. 20\u201325 (1998). doi: 10.1145\/286860.286863","DOI":"10.1145\/286860.286863"},{"key":"219_CR39","doi-asserted-by":"crossref","unstructured":"Pizlo, F., Frampton, D., Hosking, A.L.: Fine-grained adaptive biased locking. In: Proceedings of the 9th International Conference on Principles and Practice of Programming in Java, ACM, pp. 171\u2013181 (2011)","DOI":"10.1145\/2093157.2093184"},{"key":"219_CR40","doi-asserted-by":"publisher","unstructured":"Russell, K., Detlefs, D.: Eliminating synchronization-related atomic operations with biased locking and bulk rebiasing. In: Proceedings of the 21st Annual ACM SIGPLAN Conference on Object-oriented Programming Systems, Languages, and Applications, ACM, New York, NY, USA, OOPSLA \u201906, pp. 263\u2013272 (2006). doi: 10.1145\/1167473.1167496","DOI":"10.1145\/1167473.1167496"},{"key":"219_CR41","doi-asserted-by":"crossref","unstructured":"Saha, B., Adl-Tabatabai, A.R., Hudson, R.L., Minh, C.C., Hertzberg, B.: McRT-STM: a high performance software transactional memory system for a multi-core runtime. In: Proceedings of the Eleventh ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, ACM, pp. 187\u2013197 (2006)","DOI":"10.1145\/1122971.1123001"},{"key":"219_CR42","doi-asserted-by":"crossref","unstructured":"Schonberg, E., Schwartz, J., Sharir, M.: Automatic data structure selection in SETL. In: Proceedings of the 6th ACM SIGACT-SIGPLAN Symposium on Principles of Programming Languages, ACM, pp. 197\u2013210 (1979)","DOI":"10.1145\/567752.567771"},{"key":"219_CR43","doi-asserted-by":"crossref","unstructured":"Schultz, U.P., Lawall, J.L., Consel, C., Muller, G.: Towards automatic specialization of Java programs. In: Proceedings of the 13th European Conference on Object-Oriented Programming (ECOOP\u201999), Springer, pp. 367\u2013390 (1999)","DOI":"10.1007\/3-540-48743-3_17"},{"issue":"2","key":"219_CR44","doi-asserted-by":"crossref","first-page":"99","DOI":"10.1007\/s004460050028","volume":"10","author":"N Shavit","year":"1997","unstructured":"Shavit, N., Touitou, D.: Software transactional memory. Distrib. Comput. 10(2), 99\u2013116 (1997)","journal-title":"Distrib. Comput."},{"key":"219_CR45","doi-asserted-by":"crossref","unstructured":"Sundell, H.: Wait-free reference counting and memory management. In: Parallel and Distributed Processing Symposium, 2005. Proceedings. 19th IEEE International, IEEE, pp. 24b (2005)","DOI":"10.1109\/IPDPS.2005.451"},{"issue":"8","key":"219_CR46","doi-asserted-by":"publisher","first-page":"705","DOI":"10.1002\/spe.652","volume":"35","author":"M Svahnberg","year":"2005","unstructured":"Svahnberg, M., van Gurp, J., Bosch, J.: A taxonomy of variability realization techniques. Softw. Pract. Exp. 35(8), 705\u2013754 (2005). doi: 10.1002\/spe.652","journal-title":"Softw. Pract. Exp."},{"key":"219_CR47","doi-asserted-by":"crossref","unstructured":"Timnat, S., Braginsky, A., Kogan, A., Petrank, E.: Wait-free linked-lists. In: Principles of Distributed Systems, Springer, pp. 330\u2013344 (2012)","DOI":"10.1145\/2145816.2145869"},{"key":"219_CR48","doi-asserted-by":"publisher","unstructured":"von L\u00f6wis, M., Denker, M., Nierstrasz, O.: Context-oriented programming: beyond layers. In: Proceedings of the International Conference on Dynamic Languages (ICDL\u201907), ACM, pp. 143\u2013156 (2007). doi: 10.1145\/1352678.1352688","DOI":"10.1145\/1352678.1352688"},{"key":"219_CR49","unstructured":"Whaley, R.C., Petitet, A., Dongarra, J.J.: Automated empirical optimizations of software and the ATLAS project. Parallel Comput. 27(1\u20132), 3\u201335 (2001). http:\/\/citeseer.ist.psu.edu\/article\/whaley00automated.html"},{"key":"219_CR50","doi-asserted-by":"crossref","unstructured":"Xu, G.: Coco: sound and adaptive replacement of java collections. In: 27th European Conference, Montpellier, France, July 1\u20135, 2013. Proceedings, Springer, Berlin, pp. 1\u201326 (2013)","DOI":"10.1007\/978-3-642-39038-8_1"}],"container-title":["Automated Software Engineering"],"original-title":[],"language":"en","link":[{"URL":"http:\/\/link.springer.com\/article\/10.1007\/s10515-017-0219-0\/fulltext.html","content-type":"text\/html","content-version":"vor","intended-application":"text-mining"},{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/s10515-017-0219-0.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"text-mining"},{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/s10515-017-0219-0.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,25]],"date-time":"2025-06-25T00:49:00Z","timestamp":1750812540000},"score":1,"resource":{"primary":{"URL":"http:\/\/link.springer.com\/10.1007\/s10515-017-0219-0"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2017,8,22]]},"references-count":50,"journal-issue":{"issue":"1","published-print":{"date-parts":[[2018,3]]}},"alternative-id":["219"],"URL":"https:\/\/doi.org\/10.1007\/s10515-017-0219-0","relation":{},"ISSN":["0928-8910","1573-7535"],"issn-type":[{"type":"print","value":"0928-8910"},{"type":"electronic","value":"1573-7535"}],"subject":[],"published":{"date-parts":[[2017,8,22]]}}}