35 research outputs found

    Towards Generic Modularization Transformations

    Get PDF
    Modularization concepts have been introduced in several modeling languages in order to tackle the problem that real-world models quickly become large monolithic artifacts. Having these concepts at hand allows for structuring models during modeling activities. However, legacy models often lack a proper structure, and thus, still remain monolithic artifacts. In order to tackle this problem, we present in this paper a modularization transformation which can be reused for several modeling languages by binding their concrete concepts to the generic ones offered by the modularization transformation. This binding is enough to reuse different modularization strategies provided by search-based model transformations. We demonstrate the applicability of the modularization approach for Ecore models.Ministerio de EconomĂ­a y Competitividad TIN2012-32273Junta de AndalucĂ­a TIC-5906Junta de AndalucĂ­a P12-TIC-186

    Software Clustering using Hybrid Multi-Objective Black Hole Algorithm

    Get PDF
    Abstract-Software clustering is the process of organizing software units into appropriate clusters so as to efficiently modularize complex program structure. In this paper, we investigate the use of hybrids of Black Hole algorithm (developed using weighted aggregation, auxiliary archive and Genetic Algorithm) to optimize multiple objectives for clustering of android mobile applications. It is empirically and statistically observed that multi-objective Black Hole algorithm when improved using Genetic Algorithm and auxiliary archive outperforms Two-Archive algorithm and its counterparts. Keywords-bio-inspired algorithm, edgesim, nature-inspired algorithm, serach based software engineering, software clsuterin

    Refactoring Practices in the Context of Modern Code Review: An Industrial Case Study at Xerox

    Get PDF
    Modern code review is a common and essential 2 practice employed in both industrial and open-source projects 3 to improve software quality, share knowledge, and ensure con4 formance with coding standards. During code review, developers 5 may inspect and discuss various changes including refactoring 6 activities before merging code changes in the code base. To date, 7 code review has been extensively studied to explore its general 8 challenges, best practices and outcomes, and socio-technical 9 aspects. However, little is known about how refactoring activities 10 are being reviewed, perceived, and practiced. 11 This study aims to reveal insights into how reviewers develop 12 a decision about accepting or rejecting a submitted refactoring 13 request, and what makes such review challenging. We present an 14 industrial case study with 24 professional developers at Xerox. 15 Particularly, we study the motivations, documentation practices, 16 challenges, verification, and implications of refactoring activities 17 during code review. 18 Our study delivers several important findings. Our results 19 report the lack of a proper procedure to follow by developers 20 when documenting their refactorings for review. Our survey 21 with reviewers has also revealed several difficulties related to 22 understanding the refactoring intent and implications on the 23 functional and non-functional aspects of the software. In light of 24 our findings, we recommended a procedure to properly document 25 refactoring activities, as part of our survey feedback

    A survey of search-based refactoring for software maintenance

    Get PDF
    This survey reviews published materials relating to the specific area of Search Based Software Engineering concerning software maintenance. 99 papers are selected from online databases to analyze and review the area of Search Based Software Maintenance. The literature addresses different methods to automate the software maintenance process. There are studies that analyze different software metrics, studies that experiment with multi-objective techniques and papers that propose refactoring tools for use. This survey also suggests papers from related areas of research, and introduces some of the concepts and techniques used in the area. The current state of the research is analyzed in order to assess opportunities for future research. This survey is beneficial as an introduction for any researchers aiming to work in the area of Search Based Software Maintenance and will allow them to gain an understanding of the current landscape of the research and the insights gathered. The papers reviewed as well as the refactoring tools introduced are tabulated in order to aid researchers in quickly referencing studies

    Self-healing of Radio Access Network Slices

    Get PDF
    Radio Access Network (RAN) slicing is a promising architectural technology to address extremely diversified service demands for future mobile networks. As an essential requirement for RAN slicing, self-healing is to provide services with certain quality requirements by minimizing the impact of mobile network failings. In this paper, we propose a Multi-objective Pareto Optimization based Self-healing (MPOS) scheme to solve the SRANS problem. We model the SRANS problem as a multi-objective optimization problem with aim of maximizing the self-healing profits of individual RAN slices and demonstrate the NP-hardness. In proposed MPOS scheme, we employ self-conditioned GANs to replace the offspring reproduction module in the traditional Multi-Objective Evolutionary Algorithm (MOEA), where the insufficiency of diversity maintenance in MOEA is effectively overcome. Furthermore, we theoretically prove that MPOS framework is guaranteed to converge to the optimal Pareto solution set with probability 1. Numerical results demonstrate that our MPOS scheme is effective in reducing the inverted generational distance of optimal Pareto solutions and achieving high profit and isolation level of RAN slices

    Dimensionality Reduction of Quality Objectives for Web Services Design Modularization

    Full text link
    With the increasing use of service-oriented Architecture (SOA) in new software development, there is a growing and urgent need to improve current practice in service-oriented design. To improve the design of Web services, the search for Web services interface modularization solutions deals, in general, with a large set of conflicting quality metrics. Deciding about which and how the quality metrics are used to evaluate generated solutions are always left to the designer. Some of these objectives could be correlated or conflicting. In this paper, we propose a dimensionality reduction approach based on Non-dominated Sorting Genetic Algorithm (NSGA-II) to address the Web services re-modularization problem. Our approach aims at finding the best-reduced set of objectives (e.g. quality metrics) that can generate near optimal Web services modularization solutions to fix quality issues in Web services interface. The algorithm starts with a large number of interface design quality metrics as objectives (e.g. coupling, cohesion, number of ports, number of port types, and number of antipatterns) that are reduced based on the nonlinear correlation information entropy (NCIE).The statistical analysis of our results, based on a set of 22 real world Web services provided by Amazon and Yahoo, confirms that our dimensionality reduction Web services interface modularization approach reduced significantly the number of objectives on several case studies to a minimum of 2 objectives and performed significantly better than the state-of-the-art modularization techniques in terms of generating well-designed Web services interface for users.Master of ScienceSoftware Engineering, College of Engineering & Computer ScienceUniversity of Michigan-Dearbornhttps://deepblue.lib.umich.edu/bitstream/2027.42/145687/1/Thesis Report_Hussein Skaf.pdfDescription of Thesis Report_Hussein Skaf.pdf : Thesi

    An Empirical Study of Cohesion and Coupling: Balancing Optimisation and Disruption

    Get PDF
    Search based software engineering has been extensively applied to the problem of finding improved modular structures that maximise cohesion and minimise coupling. However, there has, hitherto, been no longitudinal study of developers’ implementations, over a series of sequential releases. Moreover, results validating whether developers respect the fitness functions are scarce, and the potentially disruptive effect of search-based remodularisation is usually overlooked. We present an empirical study of 233 sequential releases of 10 different systems; the largest empirical study reported in the literature so far, and the first longitudinal study. Our results provide evidence that developers do, indeed, respect the fitness functions used to optimise cohesion/coupling (they are statistically significantly better than arbitrary choices with p << 0.01), yet they also leave considerable room for further improvement (cohesion/coupling can be improved by 25% on average). However, we also report that optimising the structure is highly disruptive (on average more than 57% of the structure must change), while our results reveal that developers tend to avoid such disruption. Therefore, we introduce and evaluate a multi-objective evolutionary approach that minimises disruption while maximising cohesion/coupling improvement. This allows developers to balance reticence to disrupt existing modular structure, against their competing need to improve cohesion and coupling. The multi-objective approach is able to find modular structures that improve the cohesion of developers’ implementations by 22.52%, while causing an acceptably low level of disruption (within that already tolerated by developers)

    Interactive Software Refactoring Bot

    Full text link
    Peer Reviewedhttps://deepblue.lib.umich.edu/bitstream/2027.42/153326/1/ASE2019_RefactoringBot__Copy_deepblue.pd

    Personalized Web Services Interface Design Using Interactive Computational Search

    Full text link
    Most of successful Web services evolve through a process of continuous change due to several reasons such as improving the quality, fixing bugs and adding new features. However, this evolution process may weaken the design of the Web service’s interface by including a large number of non-cohesive operations and make it unnecessarily complex for users to find relevant operations to be used by their services-based systems. In this thesis, we propose a remodularization recommendation approach that dynamically adapts and interactively suggests a possible modularization of the Web services interface design to users/developers and takes their feedback into consideration. Our approach uses an interactive multi-criteria decision making algorithm, based on interactive NSGA-II, to find a set of good design interface modularization solutions that find a trade-off between improving several interface design quality metrics (e.g. coupling, cohesion, number of portTypes and number of antipatterns), maximizing the reuse of user-interface interaction history patterns identified from previous releases and satisfying the interaction constraints learnt from the user feedback during the execution of the algorithm while minimizing the deviation from the initial design. We evaluated our approach on a set of 22 real-world Web services, provided by Amazon and Yahoo. Statistical analysis of our experiments shows that our dynamic interactive Web services interface modularization approach performed significantly better than the state-of-the-art modularization techniques.Master of Science (MS)Software Engineering, College of Engineering & Computer ScienceUniversity of Michigan-Dearbornhttps://deepblue.lib.umich.edu/bitstream/2027.42/140766/1/Thesis Report__Fun Jirigesi.pdfDescription of Thesis Report__Fun Jirigesi.pdf : Master's Thesi
    corecore