Software Bots as Superheroes in the SPACE of Developer ProductivityMargaret-Anne Storey
Link to talk: https://www.youtube.com/watch?v=Sk5wzRxSm3g&t=7270s
Abstract: Over the past few decades, there have been significant advancements in understanding and improving developer productivity. With the advent of artificial intelligence and increasing levels of automation to enhance collaboration, software bots, especially those with superhero powers, are poised to have a major impact on developer productivity and software quality. But what productivity means and how to measure it can seem elusive. In this talk, I present SPACE, a framework that captures the most important dimensions of developer productivity: satisfaction and well-being, performance, activity; communication and collaboration, and efficiency and flow. I will brainstorm how SPACE can help us understand the broad impact of bots across multiple dimensions of developer productivity and may reveal opportunities for bots to develop new superhero powers that may disrupt the future of software engineering.
Software Bots as Superheroes in the SPACE of Developer ProductivityMargaret-Anne Storey
Link to talk: https://www.youtube.com/watch?v=Sk5wzRxSm3g&t=7270s
Abstract: Over the past few decades, there have been significant advancements in understanding and improving developer productivity. With the advent of artificial intelligence and increasing levels of automation to enhance collaboration, software bots, especially those with superhero powers, are poised to have a major impact on developer productivity and software quality. But what productivity means and how to measure it can seem elusive. In this talk, I present SPACE, a framework that captures the most important dimensions of developer productivity: satisfaction and well-being, performance, activity; communication and collaboration, and efficiency and flow. I will brainstorm how SPACE can help us understand the broad impact of bots across multiple dimensions of developer productivity and may reveal opportunities for bots to develop new superhero powers that may disrupt the future of software engineering.
Transform Your Application Portfolio - and Keep Your Focus!Software AG
Application Portfolio Management is a discipline used to justify and measure the business value of each application in comparison to the cost of maintenance and operations. But Enterprise Architecture Management http://www.softwareag.com/corporate/products/aris_platform/aris_design/business_architect/capabilities/default.asp also plays an important role in solving this challenge. How do these two disciplines fit together? Is Application Portfolio Management a pure IT-related topic? Find out how Software AG’s ARIS Enterprise Architecture Management solution provides the methodology, the tools and best practice to answer these questions. To watch the full video, visit the Software AG resource center http://www.softwareag.com/corporate/rc/rc_perma.asp?id=tcm:16-105334.
Palestra declaração do escopo é função do gerente de projetosSilas Serpa
Não se Gerencia o que não se Mede, não se Mede o que não se Define, não se Define o que não se Entende e não há Sucesso no que não se Gerencia.(William Edwards Deming)
Não basta as empresas adotarem as melhores ferramentas, os Analistas de Negócio desenvolverem as melhores soluções, os Gerentes cumprirem os compromissos de data, custos e qualidade dos projetos e as partes interessadas ficarem satisfeitas. Isso é o básico. É preciso ir além da eficiência e eficácia; é necessário comprovar o ROI, demonstrar a efetividade das entregas para agregar valor real ao negócio.
Objetivo desta apresentação é mostrar, explanar mostrar como desenvolver um Business Case para entrega valor e para demonstrar ROi das soluções. Será exibido um framework, técnicas, princípios e boas práticas para construção de um Business Case e exemplos práticos de como aplicar o Business Case para demonstrar o ROI para efetivar a entrega de valor para as partes interessadas
Presented by Mohamed Boussaa on June 25, 2017. Project conducted in the Search-Based Software Engineering Lab at Missouri University, USA (SBSE@MST). This work has been published at SSBSE 2013 (https://www.researchgate.net/publication/305215765_Competitive_Coevolutionary_Code-Smells_Detection)
Transform Your Application Portfolio - and Keep Your Focus!Software AG
Application Portfolio Management is a discipline used to justify and measure the business value of each application in comparison to the cost of maintenance and operations. But Enterprise Architecture Management http://www.softwareag.com/corporate/products/aris_platform/aris_design/business_architect/capabilities/default.asp also plays an important role in solving this challenge. How do these two disciplines fit together? Is Application Portfolio Management a pure IT-related topic? Find out how Software AG’s ARIS Enterprise Architecture Management solution provides the methodology, the tools and best practice to answer these questions. To watch the full video, visit the Software AG resource center http://www.softwareag.com/corporate/rc/rc_perma.asp?id=tcm:16-105334.
Palestra declaração do escopo é função do gerente de projetosSilas Serpa
Não se Gerencia o que não se Mede, não se Mede o que não se Define, não se Define o que não se Entende e não há Sucesso no que não se Gerencia.(William Edwards Deming)
Não basta as empresas adotarem as melhores ferramentas, os Analistas de Negócio desenvolverem as melhores soluções, os Gerentes cumprirem os compromissos de data, custos e qualidade dos projetos e as partes interessadas ficarem satisfeitas. Isso é o básico. É preciso ir além da eficiência e eficácia; é necessário comprovar o ROI, demonstrar a efetividade das entregas para agregar valor real ao negócio.
Objetivo desta apresentação é mostrar, explanar mostrar como desenvolver um Business Case para entrega valor e para demonstrar ROi das soluções. Será exibido um framework, técnicas, princípios e boas práticas para construção de um Business Case e exemplos práticos de como aplicar o Business Case para demonstrar o ROI para efetivar a entrega de valor para as partes interessadas
Presented by Mohamed Boussaa on June 25, 2017. Project conducted in the Search-Based Software Engineering Lab at Missouri University, USA (SBSE@MST). This work has been published at SSBSE 2013 (https://www.researchgate.net/publication/305215765_Competitive_Coevolutionary_Code-Smells_Detection)
Presented at: The 44th IEEE/ACM International Conference on Software Engineering (ICSE 2022)
Date of Conference: May 2022
Conference Location: Virtual & Pittsburgh, PA, USA
This paper was originally published in the Empirical Software Engineering journal
The preprint is available at: https://arxiv.org/pdf/2110.12229
A video of the presentation is available at: https://youtu.be/suWRL2nmxMs
2018-07-10 ICALT 2018 in Mumbai Gap between MOOC Designers and Learners on In...Christian M. Stracke
2018-07-10 Paper presentation at ICALT 2018 in Mumbai on Gap between MOOC Designers and Learners on Interaction and GMQS findings by Christian M. Stracke and Esther Tan from OUNL
Name ID Number Section 1 SummaryAt least 250 words as counted.docxroushhsiu
Name: ID Number: Section 1 Summary
At least 250 words as counted by Microsoft Word
(Delete these instructions before submitting)
Write a summary of the material presented in class and/or assigned reading. The summary should be written as if summarizing material succinctly for a superior. It should not contain your opinions or reflections, just the key points.Section 2 Personal Reflection
At least 250 words as counted by Microsoft Word
Write a response to the material presented or read, The reflection can include your opinions on the material, ideas with which you agreed, ideas with which you disagreed, ideas you found interesting, and any personal life experiences related to the ideas raised.Section 3 Questions
Write 2-3 questions about the material presented and/or read that you have after the presentation/reading.Section 4 Personal Application
Write a specific plan for one change in your life (behaviors or attitudes) due to exposure to this material. Please be specific.
Not: I will try not to be vague
Something like: I will get an account on NCEES.org and download the FE Reference Manual by Friday.
1
10/17/19
1
EE 200: Electrical Engineering Design Project
Process AKA Systems Engineering
4
4
Dr. Haggerty, PE (EE)
• Guide you through
o Project Process
o Requirements Analysis
o Prototype Development
• 14 years: Systems Engineering
Aerospace and electronic systems
o Numerous winning proposals
o 100s M$ in new business
• 20 years: Consulting Engineer
o Broader technical
o Multiple large clients
o Multiple start-ups
• 5 Years Adjunct faculty
o Teach LD, UD, and Grad
o A “go to” replacement 5
5
10/17/19
2
Dr. Haggerty, PE (EE)
• Guide you through
o Project Process
o Requirements Analysis
o Prototype Development
• 14 years: Systems Engineering
Aerospace and electronic systems
o Numerous winning proposals
o 100s M$ in new business
• 20 years: Consulting Engineer
o Broader technical
o Multiple large clients
o Multiple start-ups
• 5 Years Adjunct faculty
o Teach LD, UD, and Grad
o A “go to” replacement 2
Elevator Pitch is Short Explanation to Catch
Listeners Interest
Individual
• Name
• Project Role
• Experience Summary
• 15𝑠 ≤ 𝑇&' ≤ 2𝑚𝑖𝑛
6• References on BeachBoard
6
Project/Product:
• Product Elevator Pitch Outline
o Hook:
o Who it is for:
o What it does:
o Why it is needed:
• What would differentiate
your product ?
o (To help generate info for
Elevator Pitch)
7
7
10/17/19
3
They say there is
no “I” in Team.
9
9
Engineering Project Process Defined in:
HF Hoffman, The Engineering Capstone Course
Part 1
• Select team and project
• Analyze business case and issues
• Unit specifications
• Parts list and purchase
• Test planning
• Proposal
Part 2
• Weekly status
• Formal team meetings
• Formal design reviews
• Software design, code, and test
• Hardware design, fabrication, and
integration
• Software/hardware integration
• Final report, presentation, and
demonstration of final product
10
Exploratory Testing Basics and Future Kari Kakkonen Moscow 2018Kari Kakkonen
My slides at #TestConMoscow 2018 about Exploratory Testing basics, experiences and future. I go through some basic on concepts of exploratory testing, discuss where and why exploratory testing typically fits, and what is in store for exploratory testing in future - mixing it with use of tools and soon even AI as a helper.
Some Pitfalls with Python and Their Possible Solutions v1.0Yann-Gaël Guéhéneuc
Python is a very popular programming language that comes with many pitfalls. This presentation describes some of these pitfalls, especially when they could trick unsuspecting object-oriented developers. It proposes solutions to these pitfalls, in particular regarding inheritance, which is easily broken because of the implementation choice of Python for explicit delegation, its method resolution order, and its use of the C3 algorithm. It discusses some advantages of using Python, especially regarding meta-classes.
Advice for writing a NSERC Discovery grant application v0.5Yann-Gaël Guéhéneuc
NSERC Discovery grant applications are judged according to four criteria: (1) Excellence of the researcher, (2) Merit of the proposal, (3) Contribution to the training of HQP, and (4) Cost of research. Each criterion has six possible merit indicators: Exceptional, Outstanding, Very strong, Strong, Moderate, and Insufficient. This presentation describes the process from a candidate's point of view and a reviewer's point of view. It discusses funding decisions, including bins and ER vs. ECR. It gives some advice, including graduating PhD students, having a story, and limiting the number of main objectives.
Ptidej Architecture, Design, and Implementation in Action v2.1Yann-Gaël Guéhéneuc
A set of process, architecture, design, and implementation patterns from a real, large program, the Ptidej Tool Suite. This set shows concrete problems and their solutions in Java. It includes: Be A Profiler, Tests as Documentation, Multi-layered Architecture, Proxy Console, Proxy Disk, Hidden Language, Internal Observer, Run-time Deprecation, String Parsimony, Object Identity, Object Address, Final Construction, StringBuffer as Positioning Element.
Examples of (bad) consequences of a lack of software quality and some solutions. This presentation presents some examples of (bad) consequences of a lack of software quality, in particular how poor software quality led to the direct deaths of 89 people. It then provides some background on software quality, especially the concept of Quality Without a Name. It then discusses many principles, their usefulness, and their positive consequences on software quality. Some of these principles are well-known in object-oriented programming while many others are taken from the book 97 Programmers. They include: abstraction, encapsulation, inheritance, types, polymorphism, SOLID, GRASP, YAGNI, KISS, DRY, Do Not Reinvent the Wheel, Law of Demeter, Beware of Assumptions, Deletable Code, coding with reason, and functional programming. They pertain to dependencies, domains, and tools.
(In details: Beautify is Simplicity, The Boy Scout Rule, You Gotta Care About the Code, The Longevity of Interim Solutions, Beware the Share, Encapsulate Behaviour not Just State, Single Responsibility Principle, WET Dilutes Performance Bottlenecks, Convenience Is Not an -ility, Code in the Language of the Domain, Comment Only What the Code Cannot Say, Distinguish Business Exception from Technical, Prefer Domain-specific Types to Primitive Types, Automate Your Coding Standards, Code Layout Matters, Before You Refactor, Improve Code by Removing It, Put the Mouse Down and Step Away from the Keyboard)
Some Pitfalls with Python and Their Possible Solutions v0.9Yann-Gaël Guéhéneuc
Python is a very popular programming language that comes with many pitfalls. This presentation describes some of these pitfalls, especially when they could trick unsuspecting object-oriented developers. It proposes solutions to these pitfalls, in particular regarding inheritance, which is easily broken because of the implementation choice of Python for explicit delegation, its method resolution order, and its use of the C3 algorithm. It discusses some advantages of using Python, especially regarding meta-classes.
An Explanation of the Unicode, the Text Encoding Standard, Its Usages and Imp...Yann-Gaël Guéhéneuc
Unicode is currently the world standard for encoding text. It supports all of the world's major writing systems. With its version 15.1 of 2023/09/12, it defines 149,813 characters and 161 scripts. This presentation starts with the, seemingly, simple example of the polar bear emoji. It then defines the key terms of any such standard. It then asks how a software system can render orthographic characters into glyphs, i.e., to render characters into (combined) glyphs. It introduces the concept of abstract characters and describes a brief history of encoding standards, from ASCII to Unicode. It shows how, by adding one level of indirection, the Unicode standard answers this question. It then presents code examples to display text written in Unicode: HarfBuzz (for shaping) and FreeType (for rendering).
An Explanation of the Halting Problem and Its ConsequencesYann-Gaël Guéhéneuc
The halting problem is an important, famous, and consequential problem in computer science. It is about writing a program that decides if another problem will stop. There is no general solution to this problem, which shows that such a problem is undecidable, with important consequences: for example, it is not possible to write tests that would exhaustively test entirely an arbitrary program. This presentation was written in collaboration with <a href="https://www.iro.umontreal.ca/~hahn/">Gena Hahn</a>.
A presentation summarising FPGAs, their history, their benefits, and showing how to program them. It provides some historical background on the development of computers, from the Difference Engine to the Intel 4004 to the AMD Ryzen Threadripper PRO 3995WX. It shows how the number of transistors increased dramatically but also how this increase led to more complexity and more bugs. It then introduces Field-programmable gate arrays (FPGA) as an alternative. It then presents how to program such FPGA using data-flow graphs. It discusses some tools (Yosys, NextPnR, and IceStorm) and illustrates them with a typical "Hello World" (i.e., blinking an LED) using Cygwin on Windows 10.
A set of brief presentations of some of the women and men who made the history of computer science and software engineering.
- 1936: Alan Turing
- 1948: Claude Elwood Shannon
- 1950: Grace Murray Hopper
- 1960: John McCarthy
- 1966: Frances E. Allen
- 1967: Ole-Johan Dahl
- 1967: Kristen Nygaard
- 1969: Charles A. R. Hoare
- 1970: Edgar F. Codd
- 1972: Dave Parnas
- 1974: Manny Lehman
- 1975: Frederick Brooks
- 1986: Edward Yourdon
- 1987: Barbara Liskov
- 1994: Erich Gamma
- 1997: Grady Booch
- 2001: Butler Lampson
A tutorial on the history, use, and caveats of Java generics. Using the simple example of an interface for sort algorithms, the tutorial presents the history of generics and describes the problems being solved by generics. It also provides definitions, and examples in Java and C++, and discusses Duck Typing. It then describes two scenarios: (1) Scenario 1: you want to enforce type safety for containers and remove the need for typecasts when using these containers and (2) Scenario 2: you want to build generic algorithms that work on several types of (possibly unrelated) things. It also summarises caveats with generics, in particular type erasure.
A tutorial on reflection, with a particular emphasis on Java, with a comparison with C++, Python, and Smalltalk. It describes different scenarios in which reflection is useful, a brief history of reflection and MOPs, a comparison with C++, Python, and Smalltalk, and some particulars about Java. The source code of the examples in Java (Eclipse project), Smalltalk (Squeak image v3.10.6), Python (Eclipse project), and C++ (Eclipse projects and Visual Studio solution) are available. (C++ Eclipse projects require Mirror.) Big thanks to Matúš Chochlík and Marcus Denker for their kind and precious help with C++ and Smalltalk.
The tutorial focuses on four common problems:
- Avoid using instanceof when code must bypass the compiler and virtual machine’s choice of the method to call.
- Create external, user-defined pieces of code loaded, used, and unloaded at run-time.
- Translate data structures or object states into a format that can be stored (file, network...).
- Monitor the execution of a program to understand its behaviour, and measure its space and time complexity.
It shows working examples of Java, Smalltalk, Python, and C++ code solving the four common problems through four scenarios:
- Scenario 1: invoke an arbitrary method on an object (see the problems with instanceof and plugins).
- Scenario 2: access the complete (including private) state of an object (see the problem with serialisation).
- Scenario 3: count the number of instances of a class created at runtime (see the problem with debugging/profiling).
- Scenario 4: patch the method of a class to change its behaviour (see the problem with patching).
It also discusses the different kinds of interconnections among objects that are available in common programming languages (linking, forking, subclassing, inter-process communication, and dynamic loading/invoking), a bit of theory about reflection, and specifically the class-loading mechanism of Java.
REST APIs are nowadays the de-facto standard for Web applications. However, as more systems and services adopt the REST architectural style, many problems arise regularly. To avoid these repetitive problems, developers should follow good practices and avoid bad practices. Thus, research on good and bad practices and how to design a simple but effective REST API are essential. Yet, to the best of our knowledge, there are only a few concrete solutions to recurring REST API practices, like “API Versioning”. There are works on defining or detecting some practices, but not on solutions to the practices. We present the most up-to-date list of REST API practices and formalize them in the form of REST API (anti)patterns. We validate our design (anti)patterns with a survey and interviews of 55 developers.
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?
We describe the deployment and use of Globus Compute for remote computation. This content is aimed at researchers who wish to compute on remote resources using a unified programming interface, as well as system administrators who will deploy and operate Globus Compute services on their research computing infrastructure.
Large Language Models and the End of ProgrammingMatt Welsh
Talk by Matt Welsh at Craft Conference 2024 on the impact that Large Language Models will have on the future of software development. In this talk, I discuss the ways in which LLMs will impact the software industry, from replacing human software developers with AI, to replacing conventional software with models that perform reasoning, computation, and problem-solving.
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...Crescat
Crescat is industry-trusted event management software, built by event professionals for event professionals. Founded in 2017, we have three key products tailored for the live event industry.
Crescat Event for concert promoters and event agencies. Crescat Venue for music venues, conference centers, wedding venues, concert halls and more. And Crescat Festival for festivals, conferences and complex events.
With a wide range of popular features such as event scheduling, shift management, volunteer and crew coordination, artist booking and much more, Crescat is designed for customisation and ease-of-use.
Over 125,000 events have been planned in Crescat and with hundreds of customers of all shapes and sizes, from boutique event agencies through to international concert promoters, Crescat is rigged for success. What's more, we highly value feedback from our users and we are constantly improving our software with updates, new features and improvements.
If you plan events, run a venue or produce festivals and you're looking for ways to make your life easier, then we have a solution for you. Try our software for free or schedule a no-obligation demo with one of our product specialists today at crescat.io
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/
How Recreation Management Software Can Streamline Your Operations.pptxwottaspaceseo
Recreation management software streamlines operations by automating key tasks such as scheduling, registration, and payment processing, reducing manual workload and errors. It provides centralized management of facilities, classes, and events, ensuring efficient resource allocation and facility usage. The software offers user-friendly online portals for easy access to bookings and program information, enhancing customer experience. Real-time reporting and data analytics deliver insights into attendance and preferences, aiding in strategic decision-making. Additionally, effective communication tools keep participants and staff informed with timely updates. Overall, recreation management software enhances efficiency, improves service delivery, and boosts customer satisfaction.
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...Globus
Large Language Models (LLMs) are currently the center of attention in the tech world, particularly for their potential to advance research. In this presentation, we'll explore a straightforward and effective method for quickly initiating inference runs on supercomputers using the vLLM tool with Globus Compute, specifically on the Polaris system at ALCF. We'll begin by briefly discussing the popularity and applications of LLMs in various fields. Following this, we will introduce the vLLM tool, and explain how it integrates with Globus Compute to efficiently manage LLM operations on Polaris. Attendees will learn the practical aspects of setting up and remotely triggering LLMs from local machines, focusing on ease of use and efficiency. This talk is ideal for researchers and practitioners looking to leverage the power of LLMs in their work, offering a clear guide to harnessing supercomputing resources for quick and effective LLM inference.
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...Juraj Vysvader
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I didn't get rich from it but it did have 63K downloads (powered possible tens of thousands of websites).
Software Engineering, Software Consulting, Tech Lead, Spring Boot, Spring Cloud, Spring Core, Spring JDBC, Spring Transaction, Spring MVC, OpenShift Cloud Platform, Kafka, REST, SOAP, LLD & HLD.
Enhancing Research Orchestration Capabilities at ORNL.pdfGlobus
Cross-facility research orchestration comes with ever-changing constraints regarding the availability and suitability of various compute and data resources. In short, a flexible data and processing fabric is needed to enable the dynamic redirection of data and compute tasks throughout the lifecycle of an experiment. In this talk, we illustrate how we easily leveraged Globus services to instrument the ACE research testbed at the Oak Ridge Leadership Computing Facility with flexible data and task orchestration capabilities.
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...Globus
The Earth System Grid Federation (ESGF) is a global network of data servers that archives and distributes the planet’s largest collection of Earth system model output for thousands of climate and environmental scientists worldwide. Many of these petabyte-scale data archives are located in proximity to large high-performance computing (HPC) or cloud computing resources, but the primary workflow for data users consists of transferring data, and applying computations on a different system. As a part of the ESGF 2.0 US project (funded by the United States Department of Energy Office of Science), we developed pre-defined data workflows, which can be run on-demand, capable of applying many data reduction and data analysis to the large ESGF data archives, transferring only the resultant analysis (ex. visualizations, smaller data files). In this talk, we will showcase a few of these workflows, highlighting how Globus Flows can be used for petabyte-scale climate analysis.
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoamtakuyayamamoto1800
In this slide, we show the simulation example and the way to compile this solver.
In this solver, the Helmholtz equation can be solved by helmholtzFoam. Also, the Helmholtz equation with uniformly dispersed bubbles can be simulated by helmholtzBubbleFoam.
Prosigns: Transforming Business with Tailored Technology SolutionsProsigns
Unlocking Business Potential: Tailored Technology Solutions by Prosigns
Discover how Prosigns, a leading technology solutions provider, partners with businesses to drive innovation and success. Our presentation showcases our comprehensive range of services, including custom software development, web and mobile app development, AI & ML solutions, blockchain integration, DevOps services, and Microsoft Dynamics 365 support.
Custom Software Development: Prosigns specializes in creating bespoke software solutions that cater to your unique business needs. Our team of experts works closely with you to understand your requirements and deliver tailor-made software that enhances efficiency and drives growth.
Web and Mobile App Development: From responsive websites to intuitive mobile applications, Prosigns develops cutting-edge solutions that engage users and deliver seamless experiences across devices.
AI & ML Solutions: Harnessing the power of Artificial Intelligence and Machine Learning, Prosigns provides smart solutions that automate processes, provide valuable insights, and drive informed decision-making.
Blockchain Integration: Prosigns offers comprehensive blockchain solutions, including development, integration, and consulting services, enabling businesses to leverage blockchain technology for enhanced security, transparency, and efficiency.
DevOps Services: Prosigns' DevOps services streamline development and operations processes, ensuring faster and more reliable software delivery through automation and continuous integration.
Microsoft Dynamics 365 Support: Prosigns provides comprehensive support and maintenance services for Microsoft Dynamics 365, ensuring your system is always up-to-date, secure, and running smoothly.
Learn how our collaborative approach and dedication to excellence help businesses achieve their goals and stay ahead in today's digital landscape. From concept to deployment, Prosigns is your trusted partner for transforming ideas into reality and unlocking the full potential of your business.
Join us on a journey of innovation and growth. Let's partner for success with Prosigns.
Listen to the keynote address and hear about the latest developments from Rachana Ananthakrishnan and Ian Foster who review the updates to the Globus Platform and Service, and the relevance of Globus to the scientific community as an automation platform to accelerate scientific discovery.
How to Position Your Globus Data Portal for Success Ten Good PracticesGlobus
Science gateways allow science and engineering communities to access shared data, software, computing services, and instruments. Science gateways have gained a lot of traction in the last twenty years, as evidenced by projects such as the Science Gateways Community Institute (SGCI) and the Center of Excellence on Science Gateways (SGX3) in the US, The Australian Research Data Commons (ARDC) and its platforms in Australia, and the projects around Virtual Research Environments in Europe. A few mature frameworks have evolved with their different strengths and foci and have been taken up by a larger community such as the Globus Data Portal, Hubzero, Tapis, and Galaxy. However, even when gateways are built on successful frameworks, they continue to face the challenges of ongoing maintenance costs and how to meet the ever-expanding needs of the community they serve with enhanced features. It is not uncommon that gateways with compelling use cases are nonetheless unable to get past the prototype phase and become a full production service, or if they do, they don't survive more than a couple of years. While there is no guaranteed pathway to success, it seems likely that for any gateway there is a need for a strong community and/or solid funding streams to create and sustain its success. With over twenty years of examples to draw from, this presentation goes into detail for ten factors common to successful and enduring gateways that effectively serve as best practices for any new or developing gateway.
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.
Navigating the Metaverse: A Journey into Virtual Evolution"Donna Lenk
Join us for an exploration of the Metaverse's evolution, where innovation meets imagination. Discover new dimensions of virtual events, engage with thought-provoking discussions, and witness the transformative power of digital realms."
Navigating the Metaverse: A Journey into Virtual Evolution"
Icsm20.ppt
1. 36th IEEE International Conference on Software Maintenance and Evolution
September 27-October 3, Journal First Track
Code smells and refactoring: A tertiary review of
challenges and observations
Guilherme Lacerda, Fábio Petrillo, Marcelo Pimenta, and Yann Gaël Guéhéneuc
Brazil Brazil Canada Canada
4. Introduction and Background
▪ Refactoring and Smells
▪ Several secondary studies have been published on code smells and refactoring
▪ Tertiary Systematic Literature Review
▪ Surveys, secondary systematic literature reviews, and systematic mappings
▪ 40 secondary studies selected
▪ Challenges and Observations
5. Research Questions
RQ1: What refactoring-related topics have been investigated in secondary studies?
RQ2: What smells-related topics have been investigated in secondary studies?
RQ3: Which tools have been mentioned for code smell detection and refactoring support?
RQ4: Which RQs have been studied on code smells and refactoring? What are the highest
cited secondary studies?
RQ5: What are the annual trends of types, quality, and the number of primary studies
reviewed by the secondary studies?
7. Study Design
Definition of
Goal and RQs
(3.1)
Identification of
Relevant Papers
and Search String
(3.2)
Selection
Criteria
(3.3)
Apply Quality
Assessment
(3.4)
Data Extraction
and Execution
(3.5, 3.6)
Lacerda, G., 2019. Online Repository for Tertiary Systematic Review about Code Smells and Refactoring (Package Replication).
https://bit.ly/2WRD1N2
Search databases
ACM (30), IEEE (65),
Scopus (58), Science
Direct (130), Springer
(89), Google Scholar
(33), AIS (40), Wiley (22)
467
1st selection of
studies
Using selection
criteria (title,
abstract, keywords)
59
Duplicated papers
and 2nd selection
of studies
Using selection criteria
(full text analysis)
33 Snowballing
40 Total of selected
studies
11. RQ1 Summary
▪ Topics
▪ Opportunities, techniques, refactoring tools, refactoring in other contexts, and others
▪ Challenges
▪ Relationship between smells and refactoring is not a one to one
▪ Encourage researchers to improve the results most commonly used in practice
▪ Observations
▪ Extraction techniques are the most mentioned
▪ Number of techniques explored is still small (between 20 and 27 of 72)
▪ Quality metrics-oriented approach, precondition-oriented approach, and clustering-oriented
approach are most cited approaches
▪ Some refactoring, when applied, negatively affect the quality
13. RQ2 Summary
▪ Challenges
▪ Smells naming standardization is necessary
▪ Co-occurence of smells
▪ Explore and improve methods of defining, specify, and capture the smell context
▪ Observations
▪ Blob and Duplicated code/clones are most mentioned design and code smell, respectively
▪ God Class/Large Class has been the most investigated smell (Technical Debt)
▪ metrics-oriented approach and strategies/rules are most cited approaches to detection
▪ Topics
▪ Smells detection, code smell description, support tools for smell detection, and others
14. RQ3
Which tools have been mentioned for code
smell detection and refactoring support?
15. RQ3 Summary
▪ Challenges
▪ To develop tools that support more than one programming languages
▪ To expand the studies and experiments, improving the accuracy of the smell detection tools
and refactoring support
▪ Limitations and lack of maturity of tools
▪ Observations
▪ Several aspects characterize tools (license, supported languages, degree of automation, and
others)
▪ Java is the platform/programming language most used
▪ Large number of smell detection tools, detecting only a tiny amount of smells
▪ Number of refactoring tools is small
▪ CCFinder and Jdeodorant are the most cited tools
16. RQ4
Which RQs have been studied on code smells and
refactoring? What are the highest
cited secondary studies?
17. Top 5 selected studies
▪ Sorted by the number of citations by year
▪ Sorted by the number of citations of Google Scholar
18. RQ4 Summary
▪ Challenges
▪ Need for studies that contain more sophisticated RQs
▪ Studies covering RQs about Casuality and Design, describing situations of efficacy and
efficiency about methods, practices, and tools
▪ Observations
▪ 181 RQs in the 40 selected secondary studies
▪ One study is the most comprehensive work, with 13 RQs
▪ Some studies did not follow a defined protocol
▪ Scope of the study is related to the scope of the RQ
19. RQ5
What are the annual trends of types, quality, and
the number of primary studies reviewed by the
secondary studies?
21. RQ5 Summary
▪ Challenges
▪ Lack of validation by experts on tool analysis
▪ Lack of benchmarks to support improvements of techniques and tools for both smells
and refactorings
▪ Observations
▪ Growth of secondary studies in recent years
▪ Vast majority of studies are SLR (65%), and 75% of studies are published in journals
26. Implications
▪ Practitioners
▪ Refactoring practice should be a daily habit
▪ Developers know the values of refactoring but are often prevented from applying them
▪ Code smells priorization, impact of quality attributes
▪ Instructors
▪ Include these topics in various courses
▪ Practices: Coding dojos, code review sessions, testing, and pair programming
▪ Researchers
▪ Impact of code smells and refactoring
▪ Industry-academic collaboration
29. Contributions and Future Work
▪ Contributions
▪ We cross-reference the most frequent code smells with their detection approaches, detection
tools, suggested refactoring, and refactoring tools
▪ We report the relationships of the top 10 code smells with their refactoring and their impact
on quality
▪ We present the implications of this study from the perspective of practitioners, researchers, and
instructors
▪ We report on 13 open issues about code smells and refactoring
▪ Future works
▪ Practices and tools to mitigate the code smell and evaluate the impact on quality
▪ Goal of refactoring used by practitioners and their effect on quality
▪ Development/improvement of refactoring tools to monitor refactoring and its gains
30. 36th IEEE International Conference on Software Maintenance and Evolution
September 27-October 3, Journal First Track
Code smells and refactoring: A tertiary review of
challenges and observations
Guilherme Lacerda, Fábio Petrillo, Marcelo Pimenta, and Yann Gaël Guéhéneuc
Thank You!
Brazil Brazil Canada Canada