Collaborating Authors

Software Engineering

The Tricky Aftermath of Source Code Leaks


The Lapsus$ digital extortion group is the latest to mount a high-profile data-stealing rampage against major tech companies. And among other things, the group is known for grabbing and leaking source code at every opportunity, including from Samsung, Qualcomm, and Nvidia. At the end of March, alongside revelations that they had breached an Okta subprocessor, the hackers also dropped a trove of data containing portions of the source code for Microsoft's Bing, Bing Maps, and its Cortana virtual assistant. Businesses, governments, and other institutions have been plagued by ransomware attacks, business email compromise, and an array other breaches in recent years. Researchers say, though, that while source code leaks may seem catastrophic, and certainly aren't good, they typically aren't the worst-case scenario of a criminal data breach.

Top 10 Software Development Trends In 2022


Software development is not a static process, but, is in fact, a dynamic one. Historically, the world witnessed the development of the information system from the period between 1940 to 1960 and then came the idea of project management. Did you know that Henry Laurence Gantt and Frederick Winslow Taylor first proposed the concept of project management in 1910? Software products continuously need to evolve with time as consumer expectations keep changing. To adapt to these changes and manage to remain in demand, constant evolution is what can confer them a competitive edge.

Want to get hired in tech? These programming languages will get you the most interviews


The ongoing tech skills crunch has led to record demand for software engineers, with new data suggesting that developers are receiving more interview requests than ever from employers desperate to plug workforce talent gaps. Hired's 2022 State of Software Engineers report analyzed over 366,000 interactions between companies and developers on its jobs marketplace in an effort to discover the skills that are driving demand in the hiring marketplace. ZDNet takes an in-depth look at key trends in software development and how developers are changing the tech industry. It found that software engineers on Hired's platform received almost double the number of interview requests in 2021 than they did in 2020, with full-stack engineers seeing the highest increase in demand compared to other software engineering roles. Companies are hiring aggressively for specialist skills, Hired's data indicated.

Robotic Process Automation Platform UiPath

Communications of the ACM

The UiPath platform combines core robotic process automation (RPA) capabilities with tools for process discovery and analytics to report precisely the business impact. The core capabilities make it easy to build, deploy, and manage software robots (SRs) that emulate humans' interactions with information systems to perform certain tasks in business processes (BPs). Firstly, the BPs to be automated are designed, created, or recorded. They are created using drag-and-drop activities within a workflow. Then SRs work to perform BPs and an orchestrator acting as a control center designates tasks/processes to SRs and evaluates the efficiency of each one.

Command line arguments for your Python script


Working on a machine learning project means we need to experiment. Having a way to configure your script easily will help you move faster. In Python, we have a way to adapt the code from command line. In this tutorial, we are going to see how we can leverage the command line arguments to a Python script to help you work better in your machine learning project. There are many ways to run a Python script.

Human-Centered Approach to Static-Analysis-Driven Developer Tools

Communications of the ACM

They can be too opaque, and to raise the signal of what is most important, they end up hiding too much. "The purpose of abstraction is not to be vague, but to create a new semantic level in which one can be absolutely precise."--

rOpenSci News Digest, February 2022


You can read this post on our blog. Now let's dive into the activity at and around rOpenSci! Consult our Events page to find your local time and how to join. Find out about more events. Maëlle Salmon (Research Software Engineer with rOpenSci) and Karthik Ram (rOpenSci executive director) authored a commentary "The R Developer Community Does Have a Strong Software Engineering Culture" in the latest issue of The R Journal edited by Di Cook, as a response to the discussion paper "Software Engineering and R Programming: A Call for Research" by Melina Vidoni (who's an Associate editor of rOpenSci Software Peer Review).

The Weights can be Harmful: Pareto Search versus Weighted Search in Multi-Objective Search-Based Software Engineering Artificial Intelligence

In presence of multiple objectives to be optimized in Search-Based Software Engineering (SBSE), Pareto search has been commonly adopted. It searches for a good approximation of the problem's Pareto optimal solutions, from which the stakeholders choose the most preferred solution according to their preferences. However, when clear preferences of the stakeholders (e.g., a set of weights which reflect relative importance between objectives) are available prior to the search, weighted search is believed to be the first choice since it simplifies the search via converting the original multi-objective problem into a single-objective one and enable the search to focus on what only the stakeholders are interested in. This paper questions such a "weighted search first" belief. We show that the weights can, in fact, be harmful to the search process even in the presence of clear preferences. Specifically, we conduct a large scale empirical study which consists of 38 systems/projects from three representative SBSE problems, together with two types of search budget and nine sets of weights, leading to 604 cases of comparisons. Our key finding is that weighted search reaches a certain level of solution quality by consuming relatively less resources at the early stage of the search; however, Pareto search is at the majority of the time (up to 77% of the cases) significantly better than its weighted counterpart, as long as we allow a sufficient, but not unrealistic search budget. This, together with other findings and actionable suggestions in the paper, allows us to codify pragmatic and comprehensive guidance on choosing weighted and Pareto search for SBSE under the circumstance that clear preferences are available. All code and data can be accessed at:

The impact of feature importance methods on the interpretation of defect classifiers Artificial Intelligence

Abstract--Classifier specific (CS) and classifier agnostic (CA) feature importance methods are widely used (often interchangeably) by prior studies to derive feature importance ranks from a defect classifier. However, different feature importance methods are likely to compute different feature importance ranks even for the same dataset and classifier. Hence such interchangeable use of feature importance methods can lead to conclusion instabilities unless there is a strong agreement among different methods. Therefore, in this paper, we evaluate the agreement between the feature importance ranks associated with the studied classifiers through a case study of 18 software projects and six commonly used classifiers. We find that: 1) The computed feature importance ranks by CA and CS methods do not always strongly agree with each other. Such findings raise concerns about the stability of conclusions across replicated studies. We further observe that the commonly used defect datasets are rife with feature interactions and these feature interactions impact the computed feature importance ranks of the CS methods (not the CA methods). We demonstrate that removing these feature interactions, even with simple methods like CFS improves agreement between the computed feature importance ranks of CA and CS methods. In light of our findings, we provide guidelines for stakeholders and practitioners when performing model interpretation and directions for future research, e.g., future research is needed to investigate the impact of advanced feature interaction removal methods on computed feature importance ranks of different CS methods. We note, however, that a CS method is not always readily available for Defect classifiers are widely used by many large software corporations a given classifier. Defect classifiers are commonly and deep neural networks do not have a widely accepted CS interpreted to uncover insights to improve software quality. Therefore it is the feature importance ranks of different classifiers is pivotal that these generated insights are reliable. Such CA methods measure the contribution of each feature a feature importance method to compute a ranking of feature towards a classifier's predictions. These measure the contribution of each feature by effecting changes to feature importance ranks reflect the order in which the studied that particular feature in the dataset and observing its impact on features contribute to the predictive capability of the studied the outcome. The primary advantage of CA methods is that they classifier [14].

Best online computer science degrees 2022


A computer science degree introduces students to computer systems, programming, and design software. While it can cover software and hardware integration, computer science also focuses on software applications' problem-solving capabilities. The field encompasses many subdisciplines, including programming, operating systems, and artificial intelligence. Graduates with a bachelor's degree in computer science are employable in many positions and industries, and demand for professionals with strong programming and computing skills is growing. Read on to discover the best online computer science available, plus our guide to this versatile degree.