[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"detail-sidebar-cat-0-en-105":3,"doc-seo-503880-105":59,"doc-detail-503880-en":130},{"code":4,"msg":5,"data":6},0,"success",[7,13,18,23,28,33,38,43,48,51,55],{"id":8,"doc_module":4,"doc_module_name":9,"category_name":10,"show_sort_weight":11,"slug":12},1,"Document","Story & Novel",90,"story-novel",{"id":14,"doc_module":4,"doc_module_name":9,"category_name":15,"show_sort_weight":16,"slug":17},2,"Literature",80,"literature",{"id":19,"doc_module":4,"doc_module_name":9,"category_name":20,"show_sort_weight":21,"slug":22},4,"Exam",70,"exam",{"id":24,"doc_module":4,"doc_module_name":9,"category_name":25,"show_sort_weight":26,"slug":27},5,"Comic",60,"comic",{"id":29,"doc_module":4,"doc_module_name":9,"category_name":30,"show_sort_weight":31,"slug":32},6,"Technology",50,"technology",{"id":34,"doc_module":4,"doc_module_name":9,"category_name":35,"show_sort_weight":36,"slug":37},7,"Healthcare",40,"healthcare",{"id":39,"doc_module":4,"doc_module_name":9,"category_name":40,"show_sort_weight":41,"slug":42},8,"Research & Report",30,"research-report",{"id":44,"doc_module":4,"doc_module_name":9,"category_name":45,"show_sort_weight":46,"slug":47},9,"Religion & Spirituality",20,"religion-spirituality",{"id":46,"doc_module":4,"doc_module_name":9,"category_name":49,"show_sort_weight":46,"slug":50},"World Cup","world-cup",{"id":52,"doc_module":4,"doc_module_name":9,"category_name":53,"show_sort_weight":52,"slug":54},10,"Lifestyle","lifestyle",{"id":56,"doc_module":4,"doc_module_name":9,"category_name":57,"show_sort_weight":24,"slug":58},19,"General","general",{"code":4,"msg":60,"data":61},"ok",{"site_id":62,"language":63,"slug":64,"title":65,"keywords":66,"description":67,"schema_data":68,"social_meta":123,"head_meta":125,"extra_data":127,"updated_unix":129},105,"en","search-based-software-re-modularization-a-case-study-at-adyen","Search-Based Software Re-Modularization - A Case Study at Adyen","","The paper addresses modularizing large-scale software systems by determining what constitutes modules and how classes should be partitioned, a task that becomes especially difficult in systems with thousands of classes and hundreds of modules. It presents an industrial case study at Adyen, applying search-based software re-modularization to a 5.5M+ line code base. The study reports scalable search performance, improvements under optimized metrics, and developer-perceived value. It also outlines challenges and opportunities to improve efficiency for large enterprises.",{"@graph":69,"@context":122},[70,84,105],{"@type":71,"itemListElement":72},"BreadcrumbList",[73,77,79,82],{"item":74,"name":75,"@type":76,"position":8},"https://docshare.wps.com","Home","ListItem",{"item":78,"name":9,"@type":76,"position":14},"https://docshare.wps.com/document/",{"item":80,"name":40,"@type":76,"position":81},"https://docshare.wps.com/document/research-report/",3,{"item":83,"name":65,"@type":76,"position":19},"https://docshare.wps.com/document/search-based-software-re-modularization-a-case-study-at-adyen/503880/",{"url":83,"name":65,"@type":85,"image":86,"author":91,"headline":65,"publisher":94,"fileFormat":97,"inLanguage":63,"description":67,"dateModified":98,"datePublished":99,"encodingFormat":97,"isAccessibleForFree":100,"interactionStatistic":101},"DigitalDocument",{"url":87,"@type":88,"width":89,"height":90},"https://docshare.wps.com/thumbnails/search-based-software-re-modularization-a-case-study-at-adyen/503880.png","ImageObject",300,407,{"name":92,"@type":93},"Logic","Person",{"url":74,"name":95,"@type":96},"DocShare","Organization","application/pdf","2026-10-18","2026-10-03",true,{"@type":102,"interactionType":103,"userInteractionCount":81},"InteractionCounter",{"@type":104},"ViewAction",{"@type":106,"mainEntity":107},"FAQPage",[108,114,118],{"name":109,"@type":110,"acceptedAnswer":111},"What problem does the paper focus on?","Question",{"text":112,"@type":113},"It focuses on how to decide the right modular structure for a software system—what counts as a module and how classes should be assigned to modules—especially in large systems with many classes and modules.","Answer",{"name":115,"@type":110,"acceptedAnswer":116},"How is the approach evaluated in the Adyen case study?",{"text":117,"@type":113},"The authors apply search-based re-modularization to Adyen’s large code base (5.5M+ lines) and evaluate improvements using the optimization metrics used as search objectives.",{"name":119,"@type":110,"acceptedAnswer":120},"What new quality metric is introduced and why?",{"text":121,"@type":113},"The paper proposes a new search objective that includes transitive coupling and building time, and describes it as fundamental in practice because it better captures practical dependency impacts and module caching behavior.","https://schema.org",{"og:url":83,"og:type":124,"og:title":65,"og:site_name":95,"og:description":67},"article",{"robots":126,"canonical":83},"index,follow",{"doc_id":128,"site_id":62},503880,1791465856,{"code":4,"msg":5,"data":131},{"doc_id":128,"user_id":132,"nickname":92,"user_avatar":133,"doc_module":4,"category_id":39,"category_name":40,"doc_title":65,"doc_description":67,"doc_content":134,"file_id":135,"file_url":136,"file_type":137,"file_size":138,"view_count":81,"is_deleted":4,"is_public":8,"is_downloadable":8,"audit_status":8,"page_count":52,"language":139,"language_code":63,"site_id":62,"html_lang":63,"table_of_contents":140,"faqs":141,"seo_title":142,"seo_description":67,"update_tm":143,"read_time":144},1099513958762,"https://ap-avatar.wpscdn.com/avatar/1000023916a998db790?x-image-process=image/resize,m_fixed,w_180,h_180&k=1784791008015729253","Search-Based Software Re-Modularization: A Case Study at Adyen  \nCasper Schrder, Adriaan van der Feltz  \nAdyen N.V.  \nAmsterdam, the Netherlands  \nfcasper.schroder, [adriaan.vanderfeltz](adriaan.vanderfeltzg@adyen.com)[g](adriaan.vanderfeltzg@adyen.com)[@adyen.com](adriaan.vanderfeltzg@adyen.com)  \nAnnibale Panichella, Maur´ıcio Aniche  \nDelft University of Technology Delft, the Netherlands  \nfA.Panichella, [M.FinavaroAniche](M.FinavaroAnicheg@tudelft.nl)[g](M.FinavaroAnicheg@tudelft.nl)[@tudelft.nl](M.FinavaroAnicheg@tudelft.nl)  \narXiv :2102 .0070 1v2 [ cs . SE] 9 Apr 2021  \nAbstract—Deciding what constitutes a single module, what classes belong to which module or the right set of modules for a speciﬁc software system has always been a challenging task. The problem is even harder in large-scale software systems composed of thousands of classes and hundreds of modules. Over the years, researchers have been proposing different techniques to support developers in re-modularizing their software systems. In particular, the search-based software re-modularization is an active research topic within the software engineering community for more than 20 years.  \nThis paper describes our efforts in applying search-based software re-modularization approaches at Adyen, a large-scale payment company. Adyen's code base has 5.5M+ lines of code, split into around hundreds of modules. We leveraged the existing body of knowledge in the ﬁeld to devise our own search algorithm and applied it to our code base. Our results show that searchbased approaches scale to large code bases as ours. Our algorithm can ﬁnd solutions that improve the code base according to the metrics we optimize for, and developers see value in the recommendations. Based on our experiences, we then list a set of challenges and opportunities for future researchers, aiming at making search-based software re-modularization more efﬁcient for large-scale software companies.  \nIndex Terms—software engineering, search-based software engineering, software refactoring, software modularization.  \nI. INTRODUCTION  \nThe existing body of knowledge on how to structure a software system in such a way that its evolution and maintenance can be done in effective and sustainable ways is extensive; it ranges from the canonical works by Parnas on software modularization [1], to Booch et al.'s view on object-oriented software design [2], to modern software design techniques, such as Domain-Driven Design (DDD) [3], to microservices [4] . Nevertheless, designing large-scale software systems is still an important and practical challenge for software development teams.  \nIn this paper, we highlight the challenges of modularizinga large-scale software system. Modularity is the idea of partitioning a (often large) software system into different components to reduce its overall complexity [5] . However, deciding what constitutes a single module, what classes belong to which module or the right set of modules for a speciﬁc software system is challenging. The challenge might be even harder at the initial phases of the software development process, as little is known about the application itself [2] . Finally, the way contemporary large software companies (such  \nas Adyen, the industry partner that serves as a case study in this research) work and divide the development responsibilities also augment the challenge: modules evolve in fast paces, are developed by different software teams, and any possible intersections between modules (e.g., does this responsibility belong to module A or B?) are solved ad-hoc.  \nModularization of code has been a software engineering research topic for more than 20 years. We see works focusing on, e.g., proposing code metrics that aim at detecting modules that are not cohesive or are too much coupled (e.g., [6, 7, 8]), and automated detection of modularization anti-patterns (e.g., [9]) . Closely related to this research, we also see a large effort from the community in modeling ","cbCaicNtR5dkFxvo","https://ap.wps.com/l/cbCaicNtR5dkFxvo","pdf",1095808,"English","# Introduction\n## Background on modularization\n## Challenges in large-scale systems\n## Related work in optimization-based re-modularization","[{\"question\":\"What problem does the paper focus on?\",\"answer\":\"It focuses on how to decide the right modular structure for a software system—what counts as a module and how classes should be assigned to modules—especially in large systems with many classes and modules.\"},{\"question\":\"How is the approach evaluated in the Adyen case study?\",\"answer\":\"The authors apply search-based re-modularization to Adyen’s large code base (5.5M+ lines) and evaluate improvements using the optimization metrics used as search objectives.\"},{\"question\":\"What new quality metric is introduced and why?\",\"answer\":\"The paper proposes a new search objective that includes transitive coupling and building time, and describes it as fundamental in practice because it better captures practical dependency impacts and module caching behavior.\"}]","Search-Based Software Re-Modularization - A Case Study at Adyen | PDF",1791061327,25]