Philippe Collet, Johann Mortara, Yann Brault, Anne-Marie Dery-Pinna
{"title":"The VariCity ecosystem: City visualization of object-oriented variability in Java and TypeScript","authors":"Philippe Collet, Johann Mortara, Yann Brault, Anne-Marie Dery-Pinna","doi":"10.1016/j.scico.2024.103210","DOIUrl":null,"url":null,"abstract":"<div><div>In object-oriented variability-rich software systems, the implemented variability often relies on traditional mechanisms (<em>i.e.</em>, inheritance, overloading, and design patterns). It is then not well-documented and buried in a single codebase, hampering its comprehension and maintenance. <em>VariCity</em> helps developers understand the implemented variability in Java and TypeScript using a 3D city metaphor in which classes are buildings shaped by the occurrences of variability implementations, while usage relationships form the city streets. Extensions of <em>VariCity</em> support IDE integration with navigation and spot zones with variability debt through quality metrics mapped on the city buildings.</div></div>","PeriodicalId":49561,"journal":{"name":"Science of Computer Programming","volume":"240 ","pages":"Article 103210"},"PeriodicalIF":1.5000,"publicationDate":"2024-09-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Science of Computer Programming","FirstCategoryId":"94","ListUrlMain":"https://www.sciencedirect.com/science/article/pii/S0167642324001333","RegionNum":4,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"Q3","JCRName":"COMPUTER SCIENCE, SOFTWARE ENGINEERING","Score":null,"Total":0}
引用次数: 0
Abstract
In object-oriented variability-rich software systems, the implemented variability often relies on traditional mechanisms (i.e., inheritance, overloading, and design patterns). It is then not well-documented and buried in a single codebase, hampering its comprehension and maintenance. VariCity helps developers understand the implemented variability in Java and TypeScript using a 3D city metaphor in which classes are buildings shaped by the occurrences of variability implementations, while usage relationships form the city streets. Extensions of VariCity support IDE integration with navigation and spot zones with variability debt through quality metrics mapped on the city buildings.
期刊介绍:
Science of Computer Programming is dedicated to the distribution of research results in the areas of software systems development, use and maintenance, including the software aspects of hardware design.
The journal has a wide scope ranging from the many facets of methodological foundations to the details of technical issues andthe aspects of industrial practice.
The subjects of interest to SCP cover the entire spectrum of methods for the entire life cycle of software systems, including
• Requirements, specification, design, validation, verification, coding, testing, maintenance, metrics and renovation of software;
• Design, implementation and evaluation of programming languages;
• Programming environments, development tools, visualisation and animation;
• Management of the development process;
• Human factors in software, software for social interaction, software for social computing;
• Cyber physical systems, and software for the interaction between the physical and the machine;
• Software aspects of infrastructure services, system administration, and network management.