This document presents a multi-objective search-based software engineering approach to recommend refactorings that introduce design patterns, fix anti-patterns, and improve software quality attributes. The approach uses NSGA-II genetic algorithm to evolve refactoring solutions. An empirical evaluation on 4 open-source Java systems shows the approach outperforms existing techniques in fixing anti-patterns and introducing design patterns while improving quality. Future work includes expanding the types of patterns addressed and developing interactive refactoring support.
Data collection for software defect predictionAmmAr mobark
It is one of the important stages that software companies need it, it will be after produce the program and published, to know the reactions of the users and their impressions about the program and work on developing and improving it.
The Contents
* BACKGROUND AND RELATED WORK
* EXPERIMENTAL PLANNING
-Research Goal -Research Questions -Experimental Subjects
-Experimental Material -Tasks and Methods
-Experimental Design
عمار عبد الكريم صاحب مبارك
AmmAr Abdualkareem sahib mobark
Cross-project Defect Prediction Using A Connectivity-based Unsupervised Class...Feng Zhang
Defect prediction on projects with limited historical data has attracted great interest from both researchers and practitioners. Cross-project defect prediction has been the main area of progress by reusing classifiers from other projects. However, existing approaches require some degree of homogeneity (e.g., a similar distribution of metric values) between the training projects and the target project. Satisfying the homogeneity requirement often requires significant effort (currently a very active area of research).
An unsupervised classifier does not require any training data, therefore the heterogeneity challenge is no longer an issue. In this paper, we examine two types of unsupervised classifiers: a) distance-based classifiers (e.g., k-means); and b) connectivity-based classifiers. While distance-based unsupervised classifiers have been previously used in the defect prediction literature with disappointing performance, connectivity-based classifiers have never been explored before in our community.
We compare the performance of unsupervised classifiers versus supervised classifiers using data from 26 projects from three publicly available datasets (i.e., AEEEM, NASA, and PROMISE). In the cross-project setting, our proposed connectivity-based classifier (via spectral clustering) ranks as one of the top classifiers among five widely-used supervised classifiers (i.e., random forest, naive Bayes, logistic regression, decision tree, and logistic model tree) and five unsupervised classifiers (i.e., k-means, partition around medoids, fuzzy C-means, neural-gas, and spectral clustering). In the within-project setting (i.e., models are built and applied on the same project), our spectral classifier ranks in the second tier, while only random forest ranks in the first tier. Hence, connectivity-based unsupervised classifiers offer a viable solution for cross and within project defect predictions.
Data collection for software defect predictionAmmAr mobark
It is one of the important stages that software companies need it, it will be after produce the program and published, to know the reactions of the users and their impressions about the program and work on developing and improving it.
The Contents
* BACKGROUND AND RELATED WORK
* EXPERIMENTAL PLANNING
-Research Goal -Research Questions -Experimental Subjects
-Experimental Material -Tasks and Methods
-Experimental Design
عمار عبد الكريم صاحب مبارك
AmmAr Abdualkareem sahib mobark
Cross-project Defect Prediction Using A Connectivity-based Unsupervised Class...Feng Zhang
Defect prediction on projects with limited historical data has attracted great interest from both researchers and practitioners. Cross-project defect prediction has been the main area of progress by reusing classifiers from other projects. However, existing approaches require some degree of homogeneity (e.g., a similar distribution of metric values) between the training projects and the target project. Satisfying the homogeneity requirement often requires significant effort (currently a very active area of research).
An unsupervised classifier does not require any training data, therefore the heterogeneity challenge is no longer an issue. In this paper, we examine two types of unsupervised classifiers: a) distance-based classifiers (e.g., k-means); and b) connectivity-based classifiers. While distance-based unsupervised classifiers have been previously used in the defect prediction literature with disappointing performance, connectivity-based classifiers have never been explored before in our community.
We compare the performance of unsupervised classifiers versus supervised classifiers using data from 26 projects from three publicly available datasets (i.e., AEEEM, NASA, and PROMISE). In the cross-project setting, our proposed connectivity-based classifier (via spectral clustering) ranks as one of the top classifiers among five widely-used supervised classifiers (i.e., random forest, naive Bayes, logistic regression, decision tree, and logistic model tree) and five unsupervised classifiers (i.e., k-means, partition around medoids, fuzzy C-means, neural-gas, and spectral clustering). In the within-project setting (i.e., models are built and applied on the same project), our spectral classifier ranks in the second tier, while only random forest ranks in the first tier. Hence, connectivity-based unsupervised classifiers offer a viable solution for cross and within project defect predictions.
Software analytics (for software quality purpose) is a statistical or machine learning classifier that is trained to identify defect-prone software modules. The goal of software analytics is to help software engineers prioritize their software testing effort on the most-risky modules and understand past pitfalls that lead to defective code. While the adoption of software analytics enables software organizations to distil actionable insights, there are still many barriers to broad and successful adoption of such analytics systems. Indeed, even if software organizations can access such invaluable software artifacts and toolkits for data analytics, researchers and practitioners often have little knowledge to properly develop analytics systems. Thus, the accuracy of the predictions and the insights that are derived from analytics systems is one of the most important challenges of data science in software engineering.
In this work, we conduct a series of empirical investigation to better understand the impact of experimental components (i.e., class mislabelling, parameter optimization of classification techniques, and model validation techniques) on the performance and interpretation of software analytics. To accelerate a large amount of compute-intensive experiment, we leverage the High-Performance-Computing (HPC) resources of Centre for Advanced Computing (CAC) from Queen’s University, Canada. Through case studies of systems that span both proprietary and open- source domains, we demonstrate that (1) realistic noise does not impact the precision of software analytics; (2) automated parameter optimization for classification techniques substantially improve the performance and stability of software analytics; and (3) the out-of- sample bootstrap validation technique produces a good balance between bias and variance of performance estimates. Our results lead us to conclude that the experimental components of analytics modelling impact the predictions and associated insights that are derived from software analytics. Empirical investigations on the impact of overlooked experimental components are needed to derive practical guidelines for analytics modelling.
An Empirical Study on the Adequacy of Testing in Open Source ProjectsPavneet Singh Kochhar
In this study, we investigate the state-of-the-practice of testing
by measuring code coverage in open-source software projects. We examine over 300 large open-source projects written in Java, to measure the code coverage of their associated test cases.
Performance analysis of machine learning approaches in software complexity pr...Sayed Mohsin Reza
This video contains the presentation at TCCE 2020 by Sayed Mohsin Reza on his paper titled "Performance Analysis of Machine Learning Approaches in Software Complexity Prediction"
Keywords: Software Complexity, Software Quality, Machine Learning, Software Design, Software Reliability, etc
Authors :
1. Sayed Mohsin Reza, Ph.D. Student, University of Texas
2. Mahfujur Rahman, Lecturer, Daffodil International University
3. Hasnat Parvez, Student, Jahangirnagar University
4. Omar Badreddin, Professor, University of Texas
5. Shamim Al Mamun, Professor, Jahangirnagar University
Abstract: Software design is one of the core concepts in software engineering. This covers insights and intuitions of software evolution, reliability, and maintainability. Effective software design facilitates software reliability and better quality management during development which reduces software development cost. Therefore, it is required to detect and maintain these issues earlier. Class complexity is one of the ways of detecting software quality. The objective of this paper is to predict class complexity from source code metrics using Machine Learning (ML) approaches and compare the performance of the approaches. In order to do that, we collect ten popular and quality maintained open source repositories and extract 18 source code metrics that relate to complexity for class-level analysis. First, we apply statistical correlation to find out the source code metrics that impact most on class complexity. Second, we apply five alternative ML techniques to build complexity predictors and compare the performances. The results report that the following source code metrics: Depth Inheritance Tree (DIT), Response For Class (RFC), Weighted Method Count (WMC), Lines of Code (LOC), and Coupling Between Objects (CBO) have the most impact on class complexity. Also, we evaluate the performance of the techniques and results show that Random Forest (RF) significantly improves accuracy without providing additional false negative or false positive that work as false alarms in complexity prediction.
Partitioning Composite Code Changes to Facilitate Code Review (MSR2015)Sung Kim
Yida's presentation at MSR 2015!
Abstract—Developers expend significant effort on reviewing source code changes, hence the comprehensibility of code changes directly affects development productivity. Our prior study has suggested that composite code changes, which mix multiple development issues together, are typically difficult to review. Unfortunately, our manual inspection of 453 open source code changes reveals a non-trivial occurrence (up to 29%) of such composite changes.
In this paper, we propose a heuristic-based approach to automatically partition composite changes, such that each sub-change in the partition is more cohesive and self-contained. Our quantitative and qualitative evaluation results are promising in demonstrating the potential benefits of our approach for facilitating code review of composite code changes.
Reliability is concerned with decreasing faults and their impact. The earlier the faults are detected the better. That's why this presentation talks about automated techniques using machine learning to detect faults as early as possible.
Testing with Fewer Resources: An Adaptive Approach to Performance-Aware Test ...Sebastiano Panichella
Title:
Testing with Fewer Resources: An Adaptive Approach to Performance-Aware Test Case Generation .
Authors: Giovanni Grano, Christoph Laaber, Annibale Panichella, and Sebastiano Panichella
Journal: Transactions on Software Engineering (TSE).
This presentation is about a lecture I gave within the "Software systems and services" immigration course at the Gran Sasso Science Institute, L'Aquila (Italy): http://cs.gssi.it/.
http://www.ivanomalavolta.com
Software analytics (for software quality purpose) is a statistical or machine learning classifier that is trained to identify defect-prone software modules. The goal of software analytics is to help software engineers prioritize their software testing effort on the most-risky modules and understand past pitfalls that lead to defective code. While the adoption of software analytics enables software organizations to distil actionable insights, there are still many barriers to broad and successful adoption of such analytics systems. Indeed, even if software organizations can access such invaluable software artifacts and toolkits for data analytics, researchers and practitioners often have little knowledge to properly develop analytics systems. Thus, the accuracy of the predictions and the insights that are derived from analytics systems is one of the most important challenges of data science in software engineering.
In this work, we conduct a series of empirical investigation to better understand the impact of experimental components (i.e., class mislabelling, parameter optimization of classification techniques, and model validation techniques) on the performance and interpretation of software analytics. To accelerate a large amount of compute-intensive experiment, we leverage the High-Performance-Computing (HPC) resources of Centre for Advanced Computing (CAC) from Queen’s University, Canada. Through case studies of systems that span both proprietary and open- source domains, we demonstrate that (1) realistic noise does not impact the precision of software analytics; (2) automated parameter optimization for classification techniques substantially improve the performance and stability of software analytics; and (3) the out-of- sample bootstrap validation technique produces a good balance between bias and variance of performance estimates. Our results lead us to conclude that the experimental components of analytics modelling impact the predictions and associated insights that are derived from software analytics. Empirical investigations on the impact of overlooked experimental components are needed to derive practical guidelines for analytics modelling.
An Empirical Study on the Adequacy of Testing in Open Source ProjectsPavneet Singh Kochhar
In this study, we investigate the state-of-the-practice of testing
by measuring code coverage in open-source software projects. We examine over 300 large open-source projects written in Java, to measure the code coverage of their associated test cases.
Performance analysis of machine learning approaches in software complexity pr...Sayed Mohsin Reza
This video contains the presentation at TCCE 2020 by Sayed Mohsin Reza on his paper titled "Performance Analysis of Machine Learning Approaches in Software Complexity Prediction"
Keywords: Software Complexity, Software Quality, Machine Learning, Software Design, Software Reliability, etc
Authors :
1. Sayed Mohsin Reza, Ph.D. Student, University of Texas
2. Mahfujur Rahman, Lecturer, Daffodil International University
3. Hasnat Parvez, Student, Jahangirnagar University
4. Omar Badreddin, Professor, University of Texas
5. Shamim Al Mamun, Professor, Jahangirnagar University
Abstract: Software design is one of the core concepts in software engineering. This covers insights and intuitions of software evolution, reliability, and maintainability. Effective software design facilitates software reliability and better quality management during development which reduces software development cost. Therefore, it is required to detect and maintain these issues earlier. Class complexity is one of the ways of detecting software quality. The objective of this paper is to predict class complexity from source code metrics using Machine Learning (ML) approaches and compare the performance of the approaches. In order to do that, we collect ten popular and quality maintained open source repositories and extract 18 source code metrics that relate to complexity for class-level analysis. First, we apply statistical correlation to find out the source code metrics that impact most on class complexity. Second, we apply five alternative ML techniques to build complexity predictors and compare the performances. The results report that the following source code metrics: Depth Inheritance Tree (DIT), Response For Class (RFC), Weighted Method Count (WMC), Lines of Code (LOC), and Coupling Between Objects (CBO) have the most impact on class complexity. Also, we evaluate the performance of the techniques and results show that Random Forest (RF) significantly improves accuracy without providing additional false negative or false positive that work as false alarms in complexity prediction.
Partitioning Composite Code Changes to Facilitate Code Review (MSR2015)Sung Kim
Yida's presentation at MSR 2015!
Abstract—Developers expend significant effort on reviewing source code changes, hence the comprehensibility of code changes directly affects development productivity. Our prior study has suggested that composite code changes, which mix multiple development issues together, are typically difficult to review. Unfortunately, our manual inspection of 453 open source code changes reveals a non-trivial occurrence (up to 29%) of such composite changes.
In this paper, we propose a heuristic-based approach to automatically partition composite changes, such that each sub-change in the partition is more cohesive and self-contained. Our quantitative and qualitative evaluation results are promising in demonstrating the potential benefits of our approach for facilitating code review of composite code changes.
Reliability is concerned with decreasing faults and their impact. The earlier the faults are detected the better. That's why this presentation talks about automated techniques using machine learning to detect faults as early as possible.
Testing with Fewer Resources: An Adaptive Approach to Performance-Aware Test ...Sebastiano Panichella
Title:
Testing with Fewer Resources: An Adaptive Approach to Performance-Aware Test Case Generation .
Authors: Giovanni Grano, Christoph Laaber, Annibale Panichella, and Sebastiano Panichella
Journal: Transactions on Software Engineering (TSE).
This presentation is about a lecture I gave within the "Software systems and services" immigration course at the Gran Sasso Science Institute, L'Aquila (Italy): http://cs.gssi.it/.
http://www.ivanomalavolta.com
Presented on 4 Dec 2014
@Jeju, South Korea
Title: An efficient method for assessing the impact of refactoring candidates on maintainability based on matrix computation
This presentation is about a lecture I gave within the "Software systems and services" immigration course at the Gran Sasso Science Institute, L'Aquila (Italy): http://cs.gssi.infn.it/.
http://www.ivanomalavolta.com
Doing Science Properly in the Digital Age: Software Skills for Free-Range Res...Neil Chue Hong
Keynote given at Digital Research 2012, Oxford, on the current challenges and opportunities for changing the way that software development is taught to researchers. Can we get to the point where the "why" of programming is as important as the "how"?
Kanban in software development: A systematic literature reviewMuhammad Ahmad
Using of Kanban in software development is an emerging topic. This systematic literature review was conducted in order to analyse the current trend of Kanban usage in software development and to identify the obtained benefits and involved challenges. The search strategy resulted in 492 papers, of which 19 were identified as primary studies relevant to our research. The main reported benefits of using the Kanban method were improved lead time to deliver software, improved quality of software, improved communication and coordination, increased consistency of delivery, and decreased customer reported defects. The reported challenges included lack of knowledge and specialized training as well as various organizational issues. Additionally, suggested practices were extracted from the primary studies and summarized for guiding the practitioners interested in adopting Kanban. The findings of this literature review are intended for helping researchers and practitioners to gain a better understanding of the current state of Kanban usage in software development.
Esoft Metro Campus - Diploma in Information Technology - (Module VII) Software Engineering
(Template - Virtusa Corporate)
Contents:
What is software?
Software classification
Attributes of Software
What is Software Engineering?
Software Process Model
Waterfall Model
Prototype Model
Throw away prototype model
Evolutionary prototype model
Rapid application development
Programming styles
Unstructured programming
Structured programming
Object oriented programming
Flow charts
Questions
Pseudo codes
Object oriented programming
OOP Concepts
Inheritance
Polymorphism
Encapsulation
Generalization/specialization
Unified Modeling Language
Class Diagrams
Use case diagrams
Software testing
Black box testing
White box testing
Software documentation
Yamuna chari(experience 3years(automation & manual))Yamuna Chari
Hands on experience in planning testing procedures for determining the effectiveness of software programs with sound knowledge of software testing life cycle. Seeking a long term position as an automation test engineer in a prestigious organization
Eric Nyberg's Presentation "From Jeopardy! To Cognitive Agents: Effective Learning in the Wild" on Cognitive Systems Institute Group Speaker Series July 9, 2015
Machine Learning Software Engineering Patterns and Their EngineeringHironori Washizaki
Hironori Washizaki, "Machine Learning Software Engineering Patterns and Their Engineering," 2nd International Workshop on Responsible AI Engineering (RAIE’24), Keynote, Lisbon, April 16th, 2024.
Technical briefing on Software Release PlanningGuenther Ruhe
One of the most critical activities in software product development is the decisional process that assigns features to subsequent releases under technical, resource, risk, and budget constraints. This decision-centric process is referred to as software release planning (SRP).
This briefing will expose a state of the art on SRP. A survey of the most relevant approaches will be presented. Emphasis will be made on their applicability (concerning e.g. type of development process and type of system, tool support and degree of validation in industry. One of these approaches, EVOLVE, will be analysed in detail.
The briefing is addressed to a wide audience. For researchers, an updated state of the art will be exposed, a particular method will be explored in depth, and the presentation will rely on scientific grounds. For practitioners, the practical dimension of SRP will be present. For educators, the briefing will provide the basis for developing course material.
Software Engineering, Software Consulting, Tech Lead.
Spring Boot, Spring Cloud, Spring Core, Spring JDBC, Spring Security,
Spring Transaction, Spring MVC,
Log4j, REST/SOAP WEB-SERVICES.
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERRORTier1 app
Even though at surface level ‘java.lang.OutOfMemoryError’ appears as one single error; underlyingly there are 9 types of OutOfMemoryError. Each type of OutOfMemoryError has different causes, diagnosis approaches and solutions. This session equips you with the knowledge, tools, and techniques needed to troubleshoot and conquer OutOfMemoryError in all its forms, ensuring smoother, more efficient Java applications.
A Comprehensive Look at Generative AI in Retail App Testing.pdfkalichargn70th171
Traditional software testing methods are being challenged in retail, where customer expectations and technological advancements continually shape the landscape. Enter generative AI—a transformative subset of artificial intelligence technologies poised to revolutionize software testing.
Developing Distributed High-performance Computing Capabilities of an Open Sci...Globus
COVID-19 had an unprecedented impact on scientific collaboration. The pandemic and its broad response from the scientific community has forged new relationships among public health practitioners, mathematical modelers, and scientific computing specialists, while revealing critical gaps in exploiting advanced computing systems to support urgent decision making. Informed by our team’s work in applying high-performance computing in support of public health decision makers during the COVID-19 pandemic, we present how Globus technologies are enabling the development of an open science platform for robust epidemic analysis, with the goal of collaborative, secure, distributed, on-demand, and fast time-to-solution analyses to support public health.
Globus Connect Server Deep Dive - GlobusWorld 2024Globus
We explore the Globus Connect Server (GCS) architecture and experiment with advanced configuration options and use cases. This content is targeted at system administrators who are familiar with GCS and currently operate—or are planning to operate—broader deployments at their institution.
How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?XfilesPro
Worried about document security while sharing them in Salesforce? Fret no more! Here are the top-notch security standards XfilesPro upholds to ensure strong security for your Salesforce documents while sharing with internal or external people.
To learn more, read the blog: https://www.xfilespro.com/how-does-xfilespro-make-document-sharing-secure-and-seamless-in-salesforce/
Strategies for Successful Data Migration Tools.pptxvarshanayak241
Data migration is a complex but essential task for organizations aiming to modernize their IT infrastructure and leverage new technologies. By understanding common challenges and implementing these strategies, businesses can achieve a successful migration with minimal disruption. Data Migration Tool like Ask On Data play a pivotal role in this journey, offering features that streamline the process, ensure data integrity, and maintain security. With the right approach and tools, organizations can turn the challenge of data migration into an opportunity for growth and innovation.
Check out the webinar slides to learn more about how XfilesPro transforms Salesforce document management by leveraging its world-class applications. For more details, please connect with sales@xfilespro.com
If you want to watch the on-demand webinar, please click here: https://www.xfilespro.com/webinars/salesforce-document-management-2-0-smarter-faster-better/
Code reviews are vital for ensuring good code quality. They serve as one of our last lines of defense against bugs and subpar code reaching production.
Yet, they often turn into annoying tasks riddled with frustration, hostility, unclear feedback and lack of standards. How can we improve this crucial process?
In this session we will cover:
- The Art of Effective Code Reviews
- Streamlining the Review Process
- Elevating Reviews with Automated Tools
By the end of this presentation, you'll have the knowledge on how to organize and improve your code review proces
Accelerate Enterprise Software Engineering with PlatformlessWSO2
Key takeaways:
Challenges of building platforms and the benefits of platformless.
Key principles of platformless, including API-first, cloud-native middleware, platform engineering, and developer experience.
How Choreo enables the platformless experience.
How key concepts like application architecture, domain-driven design, zero trust, and cell-based architecture are inherently a part of Choreo.
Demo of an end-to-end app built and deployed on Choreo.
First Steps with Globus Compute Multi-User EndpointsGlobus
In this presentation we will share our experiences around getting started with the Globus Compute multi-user endpoint. Working with the Pharmacology group at the University of Auckland, we have previously written an application using Globus Compute that can offload computationally expensive steps in the researcher's workflows, which they wish to manage from their familiar Windows environments, onto the NeSI (New Zealand eScience Infrastructure) cluster. Some of the challenges we have encountered were that each researcher had to set up and manage their own single-user globus compute endpoint and that the workloads had varying resource requirements (CPUs, memory and wall time) between different runs. We hope that the multi-user endpoint will help to address these challenges and share an update on our progress here.
SOCRadar Research Team: Latest Activities of IntelBrokerSOCRadar
The European Union Agency for Law Enforcement Cooperation (Europol) has suffered an alleged data breach after a notorious threat actor claimed to have exfiltrated data from its systems. Infamous data leaker IntelBroker posted on the even more infamous BreachForums hacking forum, saying that Europol suffered a data breach this month.
The alleged breach affected Europol agencies CCSE, EC3, Europol Platform for Experts, Law Enforcement Forum, and SIRIUS. Infiltration of these entities can disrupt ongoing investigations and compromise sensitive intelligence shared among international law enforcement agencies.
However, this is neither the first nor the last activity of IntekBroker. We have compiled for you what happened in the last few days. To track such hacker activities on dark web sources like hacker forums, private Telegram channels, and other hidden platforms where cyber threats often originate, you can check SOCRadar’s Dark Web News.
Stay Informed on Threat Actors’ Activity on the Dark Web with SOCRadar!
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...Globus
The U.S. Geological Survey (USGS) has made substantial investments in meeting evolving scientific, technical, and policy driven demands on storing, managing, and delivering data. As these demands continue to grow in complexity and scale, the USGS must continue to explore innovative solutions to improve its management, curation, sharing, delivering, and preservation approaches for large-scale research data. Supporting these needs, the USGS has partnered with the University of Chicago-Globus to research and develop advanced repository components and workflows leveraging its current investment in Globus. The primary outcome of this partnership includes the development of a prototype enterprise repository, driven by USGS Data Release requirements, through exploration and implementation of the entire suite of the Globus platform offerings, including Globus Flow, Globus Auth, Globus Transfer, and Globus Search. This presentation will provide insights into this research partnership, introduce the unique requirements and challenges being addressed and provide relevant project progress.
Why React Native as a Strategic Advantage for Startup Innovation.pdfayushiqss
Do you know that React Native is being increasingly adopted by startups as well as big companies in the mobile app development industry? Big names like Facebook, Instagram, and Pinterest have already integrated this robust open-source framework.
In fact, according to a report by Statista, the number of React Native developers has been steadily increasing over the years, reaching an estimated 1.9 million by the end of 2024. This means that the demand for this framework in the job market has been growing making it a valuable skill.
But what makes React Native so popular for mobile application development? It offers excellent cross-platform capabilities among other benefits. This way, with React Native, developers can write code once and run it on both iOS and Android devices thus saving time and resources leading to shorter development cycles hence faster time-to-market for your app.
Let’s take the example of a startup, which wanted to release their app on both iOS and Android at once. Through the use of React Native they managed to create an app and bring it into the market within a very short period. This helped them gain an advantage over their competitors because they had access to a large user base who were able to generate revenue quickly for them.
Understanding Globus Data Transfers with NetSageGlobus
NetSage is an open privacy-aware network measurement, analysis, and visualization service designed to help end-users visualize and reason about large data transfers. NetSage traditionally has used a combination of passive measurements, including SNMP and flow data, as well as active measurements, mainly perfSONAR, to provide longitudinal network performance data visualization. It has been deployed by dozens of networks world wide, and is supported domestically by the Engagement and Performance Operations Center (EPOC), NSF #2328479. We have recently expanded the NetSage data sources to include logs for Globus data transfers, following the same privacy-preserving approach as for Flow data. Using the logs for the Texas Advanced Computing Center (TACC) as an example, this talk will walk through several different example use cases that NetSage can answer, including: Who is using Globus to share data with my institution, and what kind of performance are they able to achieve? How many transfers has Globus supported for us? Which sites are we sharing the most data with, and how is that changing over time? How is my site using Globus to move data internally, and what kind of performance do we see for those transfers? What percentage of data transfers at my institution used Globus, and how did the overall data transfer performance compare to the Globus users?
top nidhi software solution freedownloadvrstrong314
This presentation emphasizes the importance of data security and legal compliance for Nidhi companies in India. It highlights how online Nidhi software solutions, like Vector Nidhi Software, offer advanced features tailored to these needs. Key aspects include encryption, access controls, and audit trails to ensure data security. The software complies with regulatory guidelines from the MCA and RBI and adheres to Nidhi Rules, 2014. With customizable, user-friendly interfaces and real-time features, these Nidhi software solutions enhance efficiency, support growth, and provide exceptional member services. The presentation concludes with contact information for further inquiries.
Globus Compute wth IRI Workflows - GlobusWorld 2024Globus
As part of the DOE Integrated Research Infrastructure (IRI) program, NERSC at Lawrence Berkeley National Lab and ALCF at Argonne National Lab are working closely with General Atomics on accelerating the computing requirements of the DIII-D experiment. As part of the work the team is investigating ways to speedup the time to solution for many different parts of the DIII-D workflow including how they run jobs on HPC systems. One of these routes is looking at Globus Compute as a way to replace the current method for managing tasks and we describe a brief proof of concept showing how Globus Compute could help to schedule jobs and be a tool to connect compute at different facilities.
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...Anthony Dahanne
Les Buildpacks existent depuis plus de 10 ans ! D’abord, ils étaient utilisés pour détecter et construire une application avant de la déployer sur certains PaaS. Ensuite, nous avons pu créer des images Docker (OCI) avec leur dernière génération, les Cloud Native Buildpacks (CNCF en incubation). Sont-ils une bonne alternative au Dockerfile ? Que sont les buildpacks Paketo ? Quelles communautés les soutiennent et comment ?
Venez le découvrir lors de cette session ignite
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
A Multi-Objective Refactoring Approach to Introduce Design Patterns and Fix Anti-patterns
1. Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University
A Multi-Objective Refactoring Approach to
Introduce Design Patterns
and Fix Anti-patterns
Ali Ouni1, Marouane Kessentini2, Houari Sahraoui3, Mel Ó Cinnéide4,
Kalyanmoy Deb5, Katsuro Inoue1
1Osaka University, Japan; 2University of Michigan, USA
3University of Montréal, Canada; 4University College Dublin, Ireland
5Michigan State University, USA
February 26, 2015, Detroit, MI, USA
2. Department of Computer Science, Graduate School of Information Science and Technology, Osaka University
Outline
• Context and research problem
• Approach
• Validation
• Conclusion and future work
2
3. Department of Computer Science, Graduate School of Information Science and Technology, Osaka University
Context
• Software, like people, get old
– increase in complexity and degrade in effectiveness
– Some changes may degrade the design and QoS of software systems
• Maintain a high level of quality during the life cycle of a
software system
– The original developers are not around anymore
• Refactoring
– “The process of improving a code after it has been written by changing
its internal structure without changing the external behavior” (Fowler et
al., ‘99)
3
4. Department of Computer Science, Graduate School of Information Science and Technology, Osaka University
Refactoring
• Modern IDEs: Eclipse, NetBeans
– Examples: Move method, move attribute, extract class, etc.
• Advantages
– Improve software quality, maintainability, readability
– Provide better software extensibility
– Increase the speed at which programmers can write and maintain
their code
• but…
– Manual refactoring is an error-prone and time-consuming task
– What are the suitable refactorings to apply?
4
5. Department of Computer Science, Graduate School of Information Science and Technology, Osaka University
Existing work: Refactoring
• Quality-based approaches
– Optimize a set of quality metrics/attributes. (Seng et al., ‘06, Harman et al.,
‘07, O’Keeffe et al., ‘08)
• Code smells-based approaches
– Fix code-smells in existing code. (Bavota et al., ‘10, Ouni et al., ‘12, Fokaefs,
et al., ‘12, Ouni et al., ’13)
• Design patterns-based approaches
– Find code transformations/refactorings to introduce design patterns
(Ó Cinnéide et al., ’00, Jensen et al., ‘10, Ajouli et al., ‘13)
5
6. Department of Computer Science, Graduate School of Information Science and Technology, Osaka University
Problem statement
• Limitations
– Most of existing works are goal-specific approaches
– Fixing anti-patterns may affect some quality metrics.
– Improve quality metrics does mean that anti-patterns are fixed
– Applying a design pattern where it is not needed may increase the
complexity of the system
– The semantic coherence of the refactored program is not considered
Conflicting considerations
• Existing refactoring techniques are underused (Murphy-Hill et al., ’11)
– Goal-oriented approaches
– Fit specific needs of developers
6
7. Department of Computer Science, Graduate School of Information Science and Technology, Osaka University
Approach
7
MORE
Original Source
Code
Suggested Refactoring
Solution
Source Code Parser and
Analyser
(SOOT)
A
Search Process
(NSGA-II)
Search Process
(NSGA-II)
G
Anti-patterns
Detector
Anti-patterns
Detector
B
List of possible
refactorings
List of possible
refactorings
E
R1 R2 R3 … RnR1 R2 R3 … Rn
Design Patterns
Detector
Design Patterns
Detector
C
List of coherence
constraints
List of coherence
constraints
F
Software Quality
Evaluator
Software Quality
Evaluator
D
8. Department of Computer Science, Graduate School of Information Science and Technology, Osaka University
SBSE formulation
• Search technique
– Non-dominated Sorting Genetic Algorithm (NSGA-II) (Deb et al., 2002)
• Solution representation
– Vector representation: sequence of refactoring operations
– Considered refactoring operations:
• Move method, Move field, Pull up field, Pull up method, Push down field, Push
down method, Inline class, Extract method, Extract class, Move class, Extract
superclass, Extract subclass, and Extract interface
• Introduce method factory, introduce visitor, introduce singleton
8
Move methodMove method Extract classExtract class Move fieldMove field Inline classInline class Move methodMove method Pull Up methodPull Up method Push down fieldPush down field
9. Department of Computer Science, Graduate School of Information Science and Technology, Osaka University
SBSE formulation
• Change operators
– Crossover : single, random, cut-point crossover
– Mutation: randomly select one or more refactorings and replace them
by other refactorings
• Objective functions
– Anti-patterns objective function
– Design patterns objective function
– Quality improvement
9
𝐴𝐶𝑅 =
𝑛𝑢𝑚𝑏𝑒𝑟 𝑜𝑓 𝑐𝑜𝑟𝑟𝑒𝑐𝑡𝑒𝑑 𝑎𝑛𝑡𝑖𝑝𝑎𝑡𝑡𝑒𝑟𝑛𝑠
𝑖𝑛𝑖𝑡𝑖𝑎𝑙 𝑛𝑢𝑚𝑏𝑒𝑟 𝑜𝑓 𝑎𝑛𝑡𝑖𝑝𝑎𝑡𝑡𝑒𝑟𝑛𝑠
𝑁𝑃 = 𝐷𝑃𝐴 − 𝐷𝑃𝐵
𝑄𝐺 =
𝑖=1
n
𝑤𝑖 ∗ (𝑞𝑖
′
− 𝑞𝑖
10. Department of Computer Science, Graduate School of Information Science and Technology, Osaka University
Evaluation
• Three research questions
– RQ1: To what extent can the proposed approach improve the quality
of software systems?
– RQ2: How does the propose approach perform compared to existing
search-based refactoring approaches?
– RQ3: Is the proposed approach useful for software engineers?
10
11. Department of Computer Science, Graduate School of Information Science and Technology, Osaka University
Experimental setting
• Studied systems
• Antipatterns
– God Class, Feature Envy, Data Class, and Spaghetti Code
• Design patterns
– Abstract Method Factory, Visitor, and Singleton
• Quality attributes
– QMOOD: reusability, flexibility, understandability, effectiveness, functionality,
and extendibility
11
Systems Release # classes KLOC # anti-patterns # design patterns
Xerces-J v2.7.0 991 240 81 36
GanttProject v1.10.2 245 41 49 15
AntApache v1.8.2 1191 255 92 38
JHotDraw v 6.1 585 21 24 18
12. Department of Computer Science, Graduate School of Information Science and Technology, Osaka University
Analysis method
• Quantitative evaluation
– ACR: Ratio of fixed anti-patterns
– NP : number of introduced design patterns
– QG: Quality gain
• Qualitative evaluation
• Comparison to state-of-the-art research:
– Seng et al., ‘06, Jenson et al., ‘10, Kessentini et al., ‘11
12
𝑅𝑀 =
# 𝑚𝑒𝑎𝑛𝑖𝑛𝑔𝑓𝑢𝑙 𝑟𝑒𝑓𝑎𝑐𝑡𝑜𝑟𝑖𝑛𝑔𝑠
# 𝑒𝑣𝑎𝑙𝑢𝑎𝑡𝑒𝑑 𝑟𝑒𝑓𝑎𝑐𝑡𝑜𝑟𝑖𝑛𝑔𝑠
𝑃𝑈 =
# 𝑢𝑠𝑒𝑓𝑢𝑙 𝑑𝑒𝑠𝑖𝑔𝑛 𝑝𝑎𝑡𝑡𝑒𝑟𝑛𝑠
# 𝑖𝑛𝑡𝑟𝑜𝑑𝑢𝑐𝑒𝑑 𝑑𝑒𝑠𝑖𝑔𝑛 𝑝𝑎𝑡𝑡𝑒𝑟𝑛𝑠
13. Department of Computer Science, Graduate School of Information Science and Technology, Osaka University
Quantitative evaluation
13
Systems Approaches ACR NP QG
Xerces-J
MORE 89% 12 0.47
Seng et al. 23% 0 0.54
Jensen et al. 14% 31 0.41
Kessentini et al. 88% 0 0.32
GanttProject
MORE 88% 7 0.34
Seng et al. 24% 1 0.33
Jensen et al. 33% 14 0.35
Kessentini et al. 84% 0 0.21
AntApache
MORE 86% 4 0.5
Seng et al. 7% 0 0.52
Jensen et al. 12% 28 0.51
Kessentini et al. 87% 0 0.39
JHotDraw
MORE 83% 4 0.17
Seng et al. 38% 0 0.19
Jensen et al. 25% 9 0.14
Kessentini et al. 88% 0 0.1
Average (all
systems)
MORE 86% 7 0.37
Seng et al. 23% 0.25 0.39
Jensen et al. 21% 20.5 0.35
Kessentini et al. 86% 0 0.25
14. Department of Computer Science, Graduate School of Information Science and Technology, Osaka University
Quality gain
14
0
0,02
0,04
0,06
0,08
0,1
0,12
0,14
0,16
Reusability Flexibility Understandability Effectiveness Functionality Extendability
QG
QMOOD quality attributes
Xerces-J
GanttProject
AntApache
JHotDraw
15. Department of Computer Science, Graduate School of Information Science and Technology, Osaka University
Qualitative evaluation
15
Systems MORE Jensen et al.
Xerces-J 83% (10 | 12) 35% (11 | 31)
GanttProject 86% (6 | 7) 36% (5 | 14)
AntApache 100% (4 | 4) 14% (4 | 28)
JHotDraw 100% (4 | 4) 22% (2 | 9)
Refactoring meaningfulness (RM)
Design patterns usefulness (PU)
16. Department of Computer Science, Graduate School of Information Science and Technology, Osaka University
Scalability
16
30
35
40
45
50
55
60
65
70
75
0 200 400 600 800 1000 1200 1400
ExecutionTime(min)
Size of the systems (# of classes)
GanttProject
JHotDraw
Xerces-J
AntApache
17. Department of Computer Science, Graduate School of Information Science and Technology, Osaka University
Conclusion & Future Work
• We proposed an SBSE to recommend refactoring.
• Three objectives to optimize
– Fix antipatterns
– Introduce design patterns
– Improve quality attributes
• Empirical evaluation on 4 open-source java systems
• Future Works
– Include other types of anti-patterns and design patterns
– Test with other software systems
– Interactive refactoring: put the developer in the loop
17
18. Department of Computer Science, Graduate School of Information Science and Technology, Osaka University
Thank you for your attention
Questions? Discussions? Sugggestions?
18