Goto

Collaborating Authors

Software Engineering


Book Review: Data Science at the Command Line By Jeroen Janssens

#artificialintelligence

Data Science at the Command Line: Obtain, Scrub, Explore, and Model Data with Unix Power Tools written by Jeroen Janssens is the second edition of the series "Data Science at the Command Line". This book demonstrates how the flexibility of the command line can help you become a more efficient and productive data scientist. You will learn how to combine small yet powerful command-line tools to quickly obtain, scrub, explore, and model your data. To get you started, author Jeroen Janssens provides a Docker image packed with over 80 tools–useful whether you work with Windows, macOS, or Linux. You will quickly discover why the command line is an agile, scalable, and extensible technology.


New EMA Research Finds AI is Crucial to Modern Software Testing

#artificialintelligence

SAN MATEO, Calif., September 20, 2021 -- Applitools (https://applitools.com/) announced its inclusion in new research published by Enterprise Management Associates (EMA) entitled, "Disrupting the Economics of Software Testing Through AI." According to the report, Visual AI has the highest impact on software testing as compared to other available applications of AI technology in the market today. As the first ever in-depth research report on the impact of AI on automated testing, the report found organizations reliant upon traditional testing tools and techniques fail to scale to the needs of today's digital demands and are quickly falling behind their competitors. The report identifies critical factors that hinder software engineering and DevOps teams including the escalating costs of quality control, and growing complexity associated with the increasing release velocity, number of smart devices, operating systems, and programming languages. As such, EMA Research examined the impact of six real world scenarios of traditional test automation practices.


Combating Software System Complexity: Entities Should Not Be Multiplied Unnecessarily

#artificialintelligence

We are often faced with the problem of how to evaluate the quality of a large software system. The primary evaluation metric is definitely functionality and whether the software meets the main requirements (do right things). If there are multiple technical paths to achieve the same functionality, people tend to choose the more simple approach. Occam's Razor guideline "Entities should not be multiplied unnecessarily" sums up very well the preference for simplicity, which is to counter the challenge of complexity. The underlying logic of this preference is: "simplicity does things right. In the 1960s, the Software Crisis (Software crisis -- Wikipedia) was once called because software development could not keep up with the development of hardware and the growth in complexity of real problems and could not be delivered in the planned time. Fred Brooks, a Turing Award winner who led the development of System/360 and OS/360 at IBM, described the plight of a giant beast dying in a tar pit in the bible of software engineering, "The Mythical Man-Month", to draw an analogy with software developers who are mired in software complexity and cannot get out. He also introduced the famous Brooks' Law, "Adding people to a project that is behind schedule only makes it more behind schedule". In his paper "No Silver Bullet -- Essence and Accidents of Software Engineering," he further divides the difficulties of software development into essential and episodic and identifies several major causes of essential difficulties: complexity, invisibility, conformity, and changeability, with complexity leading the way. In 2006, a paper entitled "Out of the Tar Pit" echoed Brooks. This paper argues that complexity is the only major difficulty preventing successful large-scale software development, and that several of the other causes Brooks suggests are secondary disasters resulting from unmanageable complexity, with complexity being the root cause. This paper, too, cites several Turing Award winners for their excellent discussions of complexity. "…we have to keep it crisp, disentangled, and simple if we refuse to be crushed by the complexities of our own making…" "The general problem with ambitious systems is complexity.", "…it is important to emphasize the value of simplicity and elegance, for complexity has a way of compounding difficulties" "there is a desperate need for a powerful methodology to help us think about programs.


New Acquisition Strengthens Destiny's position as Europe's largest UCaaS provider

#artificialintelligence

Yet another company enters the Destiny family as the company announces the acquisition of the Danish communication and collaboration company ipvision. The acquisition enhances Destiny's position as a leading European, SME-focused, secure cloud communication provider. Daan De Wever, CEO Destiny: "We are excited to welcome ipvision to the Destiny family. Obviously, this will strengthen our position on the Danish market and in the Nordics in general. Therefore, ipvision is a perfect match with the Destiny Group, reinforcing our position as an innovative, client-centric and market leading UCaaS provider for SMEs in Europe."


Fascinating Impact of Machine Learning on Streamlining App Development

#artificialintelligence

Machine learning has made app development much easier than ever, even for people without previous coding experience. Once upon a time, coding and developing seemed like it was something hard and far-fetched for anyone with no previous experience. Only those who studied software building, coding, and development could do this, but this isn't the case anymore. With machine learning, app development has become streamlined so much that, most people can use software to create apps without previous coding knowledge. For instance, with a news app maker, you can build your news app, add content and upload it for public download; and it would look just like a professional one would.


4 Software Testing Trends to Look Forward to

#artificialintelligence

The upcoming trends in software testing will enable companies to enhance customer and business value. Fremont, CA: Software testing is transforming. It is constantly developing and evolving with the shifting technology landscape, from AI to ML. In addition, the software testing industry is quickly expanding. Because software testing is crucial, every company will need to be on top of their game as they enter the next decade.


Advances in Machine Learning for Software Engineering

#artificialintelligence

Unlike natural languages, programming languages have well-defined syntax and semantics, which can be modeled mathematically. Source code can therefore be subjected to formal analysis and many a tool exist that can perform deep semantic analysis of software. Why do we need machine learning if we can analyze programs algorithmically? The answer lies in the statistical properties of the source code. While it might be difficult to prove the correctness of an implementation of a cryptographic algorithm, it is perhaps easy enough to recognize a common coding pattern (say, a sorting algorithm) and detect bugs in it by looking for any deviations in the implementation from the many examples of similar implementations that exist.


AI concepts for developers

#artificialintelligence

The point of this guide is for the casual developer to get a cursory understanding of artificial intelligence concepts necessary to begin making applications that use various frameworks, libraries, or source code. Having straddled both the software engineering and academic research oriented sides of AI development, I understand how nuanced both approaches can be, especially when the mobile constraints of memory and performance are added to the mix.


Human + Machine Identity: A New Frontier for DevOps Automation

#artificialintelligence

Identity has become the front door to all our online experiences, and the security perimeter for all our data. However, there's been no easy way to handle scenarios that involve a combination of human and machine access. The problem gets worse when you have a stream of activity spanning a wide array of apps and backend systems. This problem surfaces in two use cases that concern the DevOps toolchain: gaining visibility into data and automating DevOps actions. If you're an engineer, how many times has someone left your organization and for months or years there are still Jira entries with their name on them?


What's the role of machine learning in software testing?

#artificialintelligence

Software testing is an essential part of the software development lifecycle (SDLC). Initially, testing was done manually--a process that took a lot of time and effort to execute. Then came test automation, which leverages software tools to run tests and identify bugs.