model checker, Software, static analysis, validation, verification

Static program analysis: Motivation and Techniques

Static analysis is a method to extract certain information about the program without actually running it. Extracted information is later used for white-box testing. In this blog post, we will first have a look at different types of information that we can extract using static analysis. Later, we will have a compendious overview of different techniques for static program analysis. Motivation There are broadly 2 categories of information, based on their usage, that we can extract: Proscriptive…

Continue Reading

model checker, Software, static analysis, validation, verification

Embedded software testing, validation and verification

Embedded softwares, unlike general softwares, are highly dependent on the hardware they are developed for, and thus it became essential to create a hardware-based or hardware-like environment simultaneously with the software for effective testing. Where simulators and emulators can, up to some extent, provide a hardware-like environment for testing embedded softwares, they can not always be relied upon while testing for safety-critical applications like flight control system. It is this, high dependency on hardware, which makes testing,…

Continue Reading

IOT, Software, Wireless

Using cellular technology within different IOT scenarios(Part-1)

This blog post is essentially a summary of my presentation(which can be found here) on application and deployment of 5G within IoT scenarios. which revolves around the following publication: https://ieeexplore.ieee.org/document/7397856 Content Some basic terminologies Types of IOTs and their requirements MTC Technical requirements IOT communication technologies and their key performance indicator IOT enablers : What all features do we want in 4G-E and 5G for IOT?(Part-2) 5G IOT architectures- SmartM2M and OneM2M (Part-2) Keywords 3GPP – 3rd…

Continue Reading

File system, RTEMS, RTOS, Software

Setting up YAFFS2 and JFFS2 on RTEMS with flash simulated on a RAM-disk

Hi all, In this post we’ll look forward towards setting up flash file systems namely JFFS2 and YAFFS2 on RTEMS with flash simulated on a RAM-disk. For file system benchmarking purpose, we didn’t actually use them on a real flash(as to eliminate the effect of flash driver’s performance) but implementing them on a real flash won’t be very different from the process given in the later sections of this post. So, let’s begin with JFFS2 first: JFFS2…

Continue Reading

GSoC, RTEMS, Software

GSoC 2018: Final Report

This is the final report of the work done under GSoC’18 with the RTEMS community. I’ll begin with a short summary of all the work done during this summer and will then move towards the corresponding code and documentation developed throughout the timeline.   Porting SDIO driver to RTEMS and benchmarking Student:- Udit kumar Agarwal Mentors:- Christian Mauderer , Punit Vara Original proposal link: Here Weekly updates:- https://devel.rtems.org/wiki/GSoC/2018#UditkumarAgarwal Project tickets:-  ticket#3429 , ticket#3430 , ticket#3428 Github Repository:– https://github.com/madaari/GSoC-rtems-18…

Continue Reading

ARM, Benchmark, File system, FIO, GSoC, RTEMS, Software

Benchmarking RTEMS Filesystems using FIO

Hi, In this post we will explore FIO’s RTEMS port and how it can be used to benchmark RTEMS filesystems and drivers. First, let’s have a quick look at all the RTEMS filesystems: RTEMS FILESYSTEMS RTEMS supports mainly two types of filesystems : Network and Physical fs. Benchmarking support for networking filesystems isn’t yet available. However, nearly every other physical filesystem can be benchmarked and contrasted. Heap based file systems are those which uses malloc() for file…

Continue Reading

Benchmark, FIO, GSoC, RTEMS, Software

[GSoC Phase-1] Porting FIO to RTEMS

Hi all, This post covers most of my learnings during phase one of GSoC with RTEMS. My main goal of phase 1 was to port an IO benchmark to RTEMS. Towards this, various benchmarks were compared and fio was finalized for the import. FIO is a pretty much widely accepted and highly configurable IO benchmarking tool, which supports a number of large number of different OS and now RTEMS is among one of them. Following were the…

Continue Reading

Benchmark, Bonnie++, FIO, FreeBSD, GSoC, IOZONE, RTEMS, Software

Comparing IO benchmarks: FIO, IOZONE and BONNIE++

IO benchmarks refer to the computerized test for measuring various properties of a IO device under various conditions. Various properties includes Read/Write speed, IOPS, seek time etc and various conditions refers to random/sequential reads/writes, block size used by the filesystem, buffer cache size etc. There are various IO benchmarks available online, but the top 3 opensource IO benchmarks, in my view includes FIO, IOZONE and BONNIE++. There are several pros and cons for each of them, which…

Continue Reading

ARM, CAM, FreeBSD, mmccam, SDIO, Software

Building FreeBSD’s SDIO driver for BeagleBone Black

Hi all, This post mainly concern with building FreeBSD’s SDIO driver for BeagleBone Black by cross compiling it on AMD platform. I had few unresolved issues with the master branch of current FreeBSD tree. So, for this i used another unofficial branch: https://github.com/kibab/freebsd/tree/mmcam-new . It does have the required KERNCONF file with stable SDIO driver. A lot of steps below are similar to the one given on: https://forums.freebsd.org/threads/cross-compiling-beaglebone-on-amd64.64718/#post-384835  with slight but inevitable changes. Procedure:  Before proceeding you…

Continue Reading

FreeBSD, Software

Setting up FreeBSD environment on virtualbox

Hi all, In this post we will review the procedure of setting up FreeBSD environment on virtualbox along with setting up Internet on the guest OS(this was pretty tricky!).BTW, my host OS is Ubuntu 14.04 So, i am assuming you have already installed virtualbox as per your host OS and has downloaded the FreeBSD amd64 iso image(If not you can do it from here and extract it appropriately to get a .iso file. Installing FreeBSD on virtualbox…

Continue Reading