About
Articles by Sandeep
-
Recent Incidents at my alma mater and some recollections
Recent Incidents at my alma mater and some recollections
By Sandeep Shukla
-
Blockchain, Crypto-Assets, G20 and all the Hype
Blockchain, Crypto-Assets, G20 and all the Hype
By Sandeep Shukla
Contributions
-
Here's how you can enhance your ability to make data-driven decisions in research.
You have to be honest with data. Let the data speak for itself. If the data does not fit your hypothesis, then either find what is wrong with the data (may be data collection was flawed? May be data is selected through biased sampling methods?) or you have to consider alternative hypothesis. If you have strong conviction about a particular hypothesis and the data is not holding up the hypothesis, you have to recheck the data at its source and find an explanation. If you are satisfied that the data collection was not at fault and it is your hypothesis that needs to be modified -- so be it. Never change your data or fudge it to your fit your preconceived ideas. That is not only unethical -- it is harmful for your discipline.
-
What do you do if your problem solving skills are not effective in agile software development environments?
Problem solving is a very important skill to have in any software project. One can learn syntax of a specific programming style, know the right libraries for specific programming idioms, or learn how to use the design patterns easily if they can think through the solution strategy for the problem at hand. For example, if you are working in an agile development team, you can think it terms of "test first" strategy -- you think of the interface of the component that you are to design. Then you think of the properties of that interface -- what Input/output characteristics are expected and what is not allowed. Then you figure out how would you test such allowed combination and how would you rest inhibited combination. Write the test driver.
-
When should you use a linked list instead of an array?
An array is usually allocated on the program stack, and thus in two situations using an array could be problematic (i) you do not know the size of the array a priori -- it may shrink and grow dynamically -- where its max size may be much more than its size majority of the time -- so you will be blocking virtual addresses unnecessarily most of time (ii) When your array is sparse such as sparse matrix. Note that the linked list is allocated on the program heap and not on the stack. However, if you are not careful de-allocating linked list nodes as the list expands you may get memory leakage, and your program may run out of memory and crash.
Activity
-
We are hiring two cyber security trainers C3i Hub at kanpur location. please DM your cv if interested. https://c3ihub.org/careers
We are hiring two cyber security trainers C3i Hub at kanpur location. please DM your cv if interested. https://c3ihub.org/careers
Posted by Sandeep Shukla
-
We are thrilled to announce that BlockStash was selected among Indian startups to represent India at the ASEAN-India ScaleHub 2024 in Bali. This…
We are thrilled to announce that BlockStash was selected among Indian startups to represent India at the ASEAN-India ScaleHub 2024 in Bali. This…
Liked by Sandeep Shukla
Experience & Education
Volunteer Experience
-
Taught Business Economics to high school Economics Classes in San Jose
Junior Achievement USA
- 6 months
Education
Publications
-
The Challenge of Interoperability: Model-based Integration for Automotive Control Software
Design Automation Conference (DAC)
-
Verification of Unit and Dimensional Consistencies in Polychronous Specifications
2014 IEEE Forum on specification & Design Languages (FDL)
Cyber physical systems are characterized by continuous interaction between digital control systems and physical systems. To design critical control software that is to be used in control systems, a model-driven correct-by-construction approach is preferable. Modeling languages based on synchronous model of time -- such as Simulink, State Chart, Esterel, Lustre etc., are often used for sequential software synthesis and languages with a polychronous timing model such as Signal, MRICDF…
Cyber physical systems are characterized by continuous interaction between digital control systems and physical systems. To design critical control software that is to be used in control systems, a model-driven correct-by-construction approach is preferable. Modeling languages based on synchronous model of time -- such as Simulink, State Chart, Esterel, Lustre etc., are often used for sequential software synthesis and languages with a polychronous timing model such as Signal, MRICDF (Multi-Rate Instantaneous Channel-connected Data Flow) etc., are often used for concurrent software synthesis. The interfaces of such software to the real world are through digital signals that are often sampled quantities of physical entities -- such as velocity, acceleration, pressure etc. Standard type systems available in programming or modeling languages assign traditional data types such as float, real etc., to these signals. Modelers might mistakenly connect two signals with the same traditional data types but representing different physical entities leading to critical bugs in the synthesized software. Early detection of such mistakes require enhanced type system and type checking algorithms. In this work, we attempt to extend the type system of the polychronous modeling language MRICDF and propose type inference techniques that consider the physical dimensions and units of the signals along with the data types. We also propose an SMT (Satisfiability Modulo Theories) based verification approach that verifies type consistency and provides invariants under which the type consistency is upheld.
Other authors -
A New Multi-threaded Code Synthesis Methodology and Tool for Correct-by-Construction Synthesis from Polychronous Specifications
2013 IEEE 13th International Conference on Application of Concurrency to System Design (ACSD)
Embedded software systems respond to multiple events coming from various sources - some temporally regular (ex: periodic sampling of continuous time signals) and some intermittent (ex: interrupts, exception events etc.). Timely response to such events while executing complex computation, might require multi-threaded implementation. For example, overlapping I/O of various types of events, and computation on such events may be delegated to different threads. However, manual programming of…
Embedded software systems respond to multiple events coming from various sources - some temporally regular (ex: periodic sampling of continuous time signals) and some intermittent (ex: interrupts, exception events etc.). Timely response to such events while executing complex computation, might require multi-threaded implementation. For example, overlapping I/O of various types of events, and computation on such events may be delegated to different threads. However, manual programming of multi-threaded programs is error-prone, and proving correctness is computationally expensive. In order to guarantee safety of such implementations, we believe that a correct-by-construction synthesis of multi-threaded software from formal specification is required. It is also imperative that the multiple threads are capable of making progress asynchronous to each other, only synchronizing when shared data is involved or information requires to be passed from one thread to other. Especially on a multi-core platform, lesser the synchronization between threads, better will be the performance. Also, the ability of the threads to make asynchronous progress, rather than barrier synchronize too often, would allow better real-time schedulability. In this work, we describe our technique for multi-threaded code synthesis from a variant of the polychronous programming language SIGNAL, namely MRICDF. Through a series of experimental benchmarks we show the efficacy of our synthesis technique. Our tool EmCodeSyn which was built originally for sequential code synthesis from MRICDF models has been now extended with multi-threaded code synthesis capability. Our technique first checks the concurrent implementability of the given MRICDF model. For implementable models, we further compute the execution schedule and generate multi-threaded code with appropriate synchronization constructs so that the behavior of the implementation is latency equivalent to that of the original MRICDF model.
Other authorsSee publication -
Synthesizing Embedded Software with Safety Wrappers through Polyhedral Analysis in a Polychronous Framework
Proceedings of the IEEE 2012 Electronic System Level Synthesis Conference(IEEE-ESLsyn), June 2-3, 2012, San Francisco, California, USA
Polychrony, a model of computation, allows us to statically analyze safety properties from formal specifications and synthesize deterministic software for safety-critical cyber physical systems. Currently, the analysis is performed on the formal specifications through Boolean abstractions. Even though it is a sound abstraction, for more precise analysis we might have to refine the abstraction. Refining the abstraction level from pure Boolean to a theory of Integers can lead to more precise…
Polychrony, a model of computation, allows us to statically analyze safety properties from formal specifications and synthesize deterministic software for safety-critical cyber physical systems. Currently, the analysis is performed on the formal specifications through Boolean abstractions. Even though it is a sound abstraction, for more precise analysis we might have to refine the abstraction. Refining the abstraction level from pure Boolean to a theory of Integers can lead to more precise decisions. In this paper, we first show how integrating a Satisfiability Modulo Theory (SMT) solver to POLYCHRONY compiler can enhance its decision making capabilities. Further, we show, how a polyhedral analysis library integrated to the compiler, can compute safe operational boundaries, and filter unsafe input combinations to keep the system safe. We enhanced the POLYCHRONY compiler’s ability to make more accurate decisions and to accept and characterize the safe input range for specifications where safety may be violated for a relatively small region of a large input space. The enhancement also allows the user to consider the severity of the violation with respect to entire space of inputs, and either reject a specification or synthesize a wrapped software with guaranteed safe operation.
Other authors -
SCGPSim: A fast SystemC simulator on GPUs
Design Automation Conference (ASP-DAC), 2010 15th Asia and South Pacific
The main objective of this paper is to speed up the simulation performance of SystemC designs at the RTL abstraction level by exploiting the high degree of parallelism afforded by today's general purpose graphics processors (GPGPUs). Our approach parallelizes SystemC's discrete-event simulation (DES) on GPGPUs by transforming the model of computation of DES into a model of concurrent threads that synchronize as and when necessary. Unlike the cooperative threading model employed in the SystemC…
The main objective of this paper is to speed up the simulation performance of SystemC designs at the RTL abstraction level by exploiting the high degree of parallelism afforded by today's general purpose graphics processors (GPGPUs). Our approach parallelizes SystemC's discrete-event simulation (DES) on GPGPUs by transforming the model of computation of DES into a model of concurrent threads that synchronize as and when necessary. Unlike the cooperative threading model employed in the SystemC reference implementation, our threading model is capable of executing in parallel on the large number of simple processing units available on GPUs. Our simulation infrastructure is called SCGPSim and it includes a source-to-source (S2S) translator to transform synthesizable SystemC models into parallelly executable programs targeting an NVIDIA GPU. The translator retains the simulation semantics of the original designs by applying semantics preserving transformations. The resulting transformed models mapped onto the massively parallel architecture of GPUs improve simulation efficiency quite substantially. Preliminary experiments with varying-sized examples such as AES, ALU, and FIR have shown simulation speed-ups ranging from 30x to 100x. Considering that our transformations are not yet optimized, we believe that optimizing them will improve the simulation performance even further.
Other authorsSee publication -
EmCodeSyn: A visual framework for multi-rate data flow specifications and code synthesis for embedded applications
Specification & Design Languages, 2009. FDL 2009.
-
Automatic Generation of Multi-Threaded Embedded Control Software for Multi-Core Processors
FERMAT Lab at Virginia Tech
-
Validating Families of Latency Insensitive Protocols
IEEE Transactions on Computers
-
Automated Extraction of Structural Information from SystemC-based IP for Validation
Sixth International Workshop on Microprocessor Test and Verification (MTV'05)
-
XFM :An Incremental Methodology for Developing Formal Models
ACM Transactions on Design Automation of Electronic Systems (TODAES) Special Issue on Validation of Large Systems. Volume 10, Issue 4, pp. 589-609
-
Accelerating SystemC Simulations using GPUs
2012 IEEE International High Level Design Validation and Test Workshop (HLDVT)
Invited Paper
Abstract: Recent developments in graphics processing unit (GPU) technology has invigorated an interest in using GPUs for accelerating the simulation of SystemC models. SystemC is extensively used for design space exploration, and early performance analysis of hardware systems. SystemC's reference implementation of the simulation kernel supports a single-threaded simulation kernel. However, modern computing platforms offer substantially more compute power by means of…Invited Paper
Abstract: Recent developments in graphics processing unit (GPU) technology has invigorated an interest in using GPUs for accelerating the simulation of SystemC models. SystemC is extensively used for design space exploration, and early performance analysis of hardware systems. SystemC's reference implementation of the simulation kernel supports a single-threaded simulation kernel. However, modern computing platforms offer substantially more compute power by means of multiple central processing units, and multiple co-processors such as GPUs. This has peaked an interest in parallelizing SystemC simulations. Of these, several efforts focus on utilizing the massive parallelism offered by GPUs as an alternate computing platform. In this paper, we present a summary of these recent research efforts that propose using GPUs for accelerating SystemC simulation.Other authors -
Compiling polychronous programs into conditional partial orders for ASIP synthesis
ACM FormaliSE 2014
Synthesis of application specific hardware which minimizes area while not sacrificing latency or clock speed is a much researched problem. In most of the past works, the hardware is described structurally in hardware description languages with behaviors attached to structures. Since the structure is manually decided, the architect has to decide whether certain components can be reused without increasing latency. For example, if one can prove that certain behaviors never happen at the same time,…
Synthesis of application specific hardware which minimizes area while not sacrificing latency or clock speed is a much researched problem. In most of the past works, the hardware is described structurally in hardware description languages with behaviors attached to structures. Since the structure is manually decided, the architect has to decide whether certain components can be reused without increasing latency. For example, if one can prove that certain behaviors never happen at the same time, these behaviors can be mapped to common components, with a simple control state machine determining which behavioral mode the behavior belongs to. Since application specific hardware are used as co-processors for performance boost, and such computations are best described as a data-flow computation, we choose a high level data-flow oriented formal specification language, and use a new semantic model for this specification language, namely conditional partial order graphs. The advantage of our approach is that our specification language MRICDF is graphical, polychronous, has formal semantics, and hence synthesizing its control structure into conditional partial order is a natural fit. Additionally, the specific calculus of constraints in polychronous languages -- namely clock calculus, and associated analysis with Boolean theory of prime implicates, and constraint satisfiability checking with SMT solvers provide us with a natural way of discovering behaviors that belong to disjoint modes, and thereby allow us to reuse components with simple micro-instruction set synthesis. In this paper, we show how MRICDF can be used to formally synthesize such application specific instruction processors.
Other authorsSee publication -
Construction of a Microgrid Communication Network
Proceedings of IEEE PES Conference on Innovative Smart Grid Technologies, 2014.
The advent of microgrids has made possible a host of applications geared toward the enhancement of the efficiency, reliability, resiliency, and sustainability of an electric power system. With a large penetration of microgrids in a power distribution system, a dedicated communication network infrastructure is needed to coordinate their control actions under various system operating conditions. This paper evaluates the ability of the current wireless communication infrastructure to meet some…
The advent of microgrids has made possible a host of applications geared toward the enhancement of the efficiency, reliability, resiliency, and sustainability of an electric power system. With a large penetration of microgrids in a power distribution system, a dedicated communication network infrastructure is needed to coordinate their control actions under various system operating conditions. This paper evaluates the ability of the current wireless communication infrastructure to meet some specific requirements and proposes some remedial actions. To this end, we have implemented communications models on the OPNETTM simulation tool and have investigated the impacts of latency and packet losses on the ability of microgrids’ responses to some disturbances in the main grid. We found that the communications infrastructure must implement suitable channel access mechanisms for wireless transmission and must also support differentiated services to accommodate the variety of traffic patterns generated by the microgrids’ control actions. If there are no differentiated services like the AQM, the performance of the controllers degrades
Other authors
Patents
-
Bottom-up approach for integrating models for software components using contracts
Issued US 9,477,446
The disclosure includes a system and method for building an integrated system using a formal language. The method may include designing one or more models for one or more software components to be included in the integrated system. The one or more models may describe one or more requirements for the one or more software components. The method may include assigning one or more contracts written in the formal language to the one or more models. The method may include integrating the one or more…
The disclosure includes a system and method for building an integrated system using a formal language. The method may include designing one or more models for one or more software components to be included in the integrated system. The one or more models may describe one or more requirements for the one or more software components. The method may include assigning one or more contracts written in the formal language to the one or more models. The method may include integrating the one or more models based on the composition of the one or more contracts to form an integrated model. The integrated model may include each requirement for the one or more software components. The method may include analyzing the one or more contracts and the integrated model to determine whether the one or more contracts include each requirement described by the integrated model.
Other inventorsSee patent -
Timing-oriented and architecture-centric system design using contracts
Issued US 9,459,840
The method may include designing one or more software models for one or more software components to be included in an embedded system. The method may include collecting information from the one or more requirements, the one or more software components, and the one or more software models. The method may include generating one or more architecture models that describe an execution platform, physical constraints, non-functional constraints, and characteristics of the embedded system based on the…
The method may include designing one or more software models for one or more software components to be included in an embedded system. The method may include collecting information from the one or more requirements, the one or more software components, and the one or more software models. The method may include generating one or more architecture models that describe an execution platform, physical constraints, non-functional constraints, and characteristics of the embedded system based on the collected information. The method may include determining timing semantics to be satisfied by execution of functions in the embedded system. The method may include generating, by an electronic device, contracts based on the one or more requirements, the one or more software components, the one or more software models, the one or more architecture models, and the timing semantics.
Other inventors
Courses
-
Software Engineering
-
Projects
-
Probabilistic Model Checking for System Level Power Management
-
Honors & Awards
-
IEEE Computer Society Distinguished Contributor
IEEE Computer Society
The IEEE Computer Society Distinguished Contributor Recognition Program is open to both IEEE CS Members and Affiliates and recognizes those members who have made technical contributions, through either applied or pure computing, to the Computing Profession, Computing Community, and Humanity with a significant portion of those technical contributions made through association with the CS.
This is a recognition program and should not be confused with the IEEE member grades of Life, Member…The IEEE Computer Society Distinguished Contributor Recognition Program is open to both IEEE CS Members and Affiliates and recognizes those members who have made technical contributions, through either applied or pure computing, to the Computing Profession, Computing Community, and Humanity with a significant portion of those technical contributions made through association with the CS.
This is a recognition program and should not be confused with the IEEE member grades of Life, Member, Senior and Fellow. https://www.computer.org/membership/distinguished-contributors -
ACM Distiguished Speaker
ACM
http://dsp.acm.org/view_lecturer.cfm?lecturer_id=7523
-
Ramanujan Fellow
Department of Science and Technology, Government of India
The fellowship is meant for brilliant scientists and engineers from all over the world to take up scientific research positions in India, i.e. for those scientists who want to return to India from abroad. The fellowships are scientist-specific and very selective. The Ramanujan Fellows could work in any of the scientific institutions and universities in the country and they would be eligible for receiving regular research grants through the extramural funding schemes of various S&T agencies of…
The fellowship is meant for brilliant scientists and engineers from all over the world to take up scientific research positions in India, i.e. for those scientists who want to return to India from abroad. The fellowships are scientist-specific and very selective. The Ramanujan Fellows could work in any of the scientific institutions and universities in the country and they would be eligible for receiving regular research grants through the extramural funding schemes of various S&T agencies of the Government of India.http://serb.gov.in/fellowships.php
-
IEEE Fellow
IEEE
for contributions to applied probabilistic model checking for system design
-
ACM Distinguished Scientist
Association of Computing Machinery (ACM)
This honor recognizes ACM members with at least 15 years of professional experience who have made a significant contribution to the field of computing, computer science, or information technology.
-
Google Scholar Profile
Google
http://scholar.google.com/citations?user=TrmkatYAAAAJ&hl=en
-
Research Gate Profile
Research Gate
https://www.researchgate.net/profile/Sandeep_Shukla6/
Languages
-
Bengali
-
-
Hindi
-
Organizations
-
Indian Institute of Technology at Kanpur
Professor
- PresentWill be joining from July 2015
Recommendations received
5 people have recommended Sandeep
Join now to viewMore activity by Sandeep
-
Lots of people ask me nowadays → what are your goals in life? Well, I want to solve myself to a level where, I have, • no fears • no ego…
Lots of people ask me nowadays → what are your goals in life? Well, I want to solve myself to a level where, I have, • no fears • no ego…
Liked by Sandeep Shukla
-
I am honored to be featured in the SRC July 2024 newsletter, covering my research and workforce development activities. I am incredibly grateful to…
I am honored to be featured in the SRC July 2024 newsletter, covering my research and workforce development activities. I am incredibly grateful to…
Liked by Sandeep Shukla
-
Congratulations to Dipesh, a PhD student in the Department of Computer Science and Engineering, IIT Kanpur for TCS Foundation Research Scholarship…
Congratulations to Dipesh, a PhD student in the Department of Computer Science and Engineering, IIT Kanpur for TCS Foundation Research Scholarship…
Liked by Sandeep Shukla
-
During his recent visit to the Indian Institute of Technology, Kanpur, Lt. Gen Mukesh Chadha SM, VSM, Chief of Staff (COS) along with other senior…
During his recent visit to the Indian Institute of Technology, Kanpur, Lt. Gen Mukesh Chadha SM, VSM, Chief of Staff (COS) along with other senior…
Liked by Sandeep Shukla
-
Like every other student in India, I too grew up being told that IIT should be my aim, and my father had high hopes. I couldn’t fulfill his dream…
Like every other student in India, I too grew up being told that IIT should be my aim, and my father had high hopes. I couldn’t fulfill his dream…
Liked by Sandeep Shukla
-
This is such a wonderful milestone. Hearty congratulations to Vasundhara Saravade for successfully completing her PhD. 🎉✨💯 All credit to her for…
This is such a wonderful milestone. Hearty congratulations to Vasundhara Saravade for successfully completing her PhD. 🎉✨💯 All credit to her for…
Liked by Sandeep Shukla
-
Announcing Coalfire as a continuing FY24 MITRE Caldera Benefactor! On behalf of the Caldera team, we express our deep gratitude for Coalfire's…
Announcing Coalfire as a continuing FY24 MITRE Caldera Benefactor! On behalf of the Caldera team, we express our deep gratitude for Coalfire's…
Liked by Sandeep Shukla
-
Meet Tanmay Yadav, an IITK Alumnus and a #Blockchain tycoon. In just three years since graduation, he is revolutionizing the cyberspace by creating…
Meet Tanmay Yadav, an IITK Alumnus and a #Blockchain tycoon. In just three years since graduation, he is revolutionizing the cyberspace by creating…
Liked by Sandeep Shukla
-
Excited to share this -- I was going through the CompTIA Security+ official material earlier this month as part of some work. The material gives…
Excited to share this -- I was going through the CompTIA Security+ official material earlier this month as part of some work. The material gives…
Liked by Sandeep Shukla
-
It was a pleasure to attend the launch event of the Wadhwani Innovation Network (WIN) Centers of Excellence (COE) and participating in the panel…
It was a pleasure to attend the launch event of the Wadhwani Innovation Network (WIN) Centers of Excellence (COE) and participating in the panel…
Liked by Sandeep Shukla
-
"🎉 Today marks our 25th anniversary! 🎉 “ Since 1999, we've proudly led the market in digital investigation and forensic tools, a responsibility…
"🎉 Today marks our 25th anniversary! 🎉 “ Since 1999, we've proudly led the market in digital investigation and forensic tools, a responsibility…
Liked by Sandeep Shukla
-
#TeamMITRE CTO Charles Clancy outlines the need for a unified approach to counter rising #cyber threats and the pivotal role of modern…
#TeamMITRE CTO Charles Clancy outlines the need for a unified approach to counter rising #cyber threats and the pivotal role of modern…
Liked by Sandeep Shukla
People also viewed
-
Manindra Agrawal
Connect -
Rohit Negi
Connect -
Tanima Hajra
Chief Operating Officer at C3iHub, IIT Kanpur
Connect -
Urbi Chatterjee
Connect -
Anindita Gayen
R&D Program Manager at C3iHub IIT Kanpur
Connect -
Kamlesh Nagware
Connect -
Abhay Karandikar
Connect -
Priyanka Bagade
Assistant Professor at Indian Institute of Technology, Kanpur
Connect -
Aditya Singh Gaur
Research Engineer | Technical Writer | C3iHub, IIT Kanpur
Connect -
Deepesh Chaudhari
Founder @BlockStash || Sr. Project Executive Engineer @C3iHub
Connect
Explore collaborative articles
We’re unlocking community knowledge in a new way. Experts add insights directly into each article, started with the help of AI.
Explore MoreOthers named Sandeep Shukla in India
-
Sandeep Shukla
-
Sandeep Shukla
Chief People Officer
-
Sandeep Shukla
Head Customer Acquisition at Mahindra Holidays & Resorts India Limited
-
Sandeep Shukla
1335 others named Sandeep Shukla in India are on LinkedIn
See others named Sandeep Shukla