Stanly Samuel

Stanly Samuel

PhD student |
CSA,
Indian Institute of Science

Personal Profile

I am currently working in the area of Program Analysis, Verification and Synthesis at the department of Computer Science and Automation, Indian Institute of Science, Bangalore.

Prior to this, I have worn many hats and skillsets although inherently my forte is in being an educator i.e. working on ideas to elucidate concepts depending on the target audience I have to teach.

Current

PhD student at CSA, Indian Institute of Science

August 2016 - ongoing

Research Problem: Automated synthesis of satellite control software with the Indian Space Research Organization (ISRO)
Advisor: Prof. K. V. Raghavan

Courses Taken: Program Analysis and Verification, Formal Methods in Software Engineering, Pro-gramming Languages Design and Implementation, Principles of Programming, Topicsin Program Analysis, Design and Analysis of Algorithms, Automata Theory and Computability

Projects and Research

Automated synthesis of satellite control software with the Indian Space Research Organization (ISRO)

Jan 2017 - ongoing

Keywords: Reactive Program Synthesis, Linear Temporal Logic, Functional Synthesis


Reactive Program Synthesis is the synthesis of controller programs from temporalspecifications. We have currently developed a technique to synthesize a controllerprogram given a plant program and a Linear Temporal Logic specification. Wehave essentially introduced a way to analyse plant programs thus incorporating aprogram analysis technique into traditional Reactive Synthesis. We are currently investigating scalability and applicability of this technique invarious scenarios.

Interprocedural Null Dereference Analysis using the Iterative approach

Aug 2018 - Dec 2018

Platform: Java; Analysis tool: IBM WALA


In this project, we implement a Null Dereference analysis which uses the Iterativeapproach for interprocedural points to analysis. In the iterative approach, weessentially compute the summary functions for each procedure iteratively. We de-couple the propagation of function rows and maintain a table of values representingthe summary function for each program point in a procedure.

Flow sensitive and Flow insensitive Intraprocedural May Points-to Analyses

Aug 2017 - Dec 2017

Platform: Java; Analysis tool: IBM WALA


Flow-sensitive pointer analysis computes for each program point what memorylocations pointer expressions may refer to. In this project, we use Kildall’s algorithmover a suitable Abstract Interpretation framework for computing this points-toinformation at every point.

Flow-insensitive pointer analysis computes what memory locations pointer ex-pressions may refer to, at any time in program execution. In this project, weuse Anderson’s algorithm over a suitable Abstract Interpretation framework forcomputing this points-to information at every point.

Total ordering atomic broadcast protocol using token ring

March 2017 - April 2017

Technologies used: C


Record and Replay of Concurrent Programs in Java

August 2016 - December 2016

Platform: Java; Analysis Tool: Soot Framework; Solver: Z3 by Microsoft


In this project, a Record and Replay tool based on the PLDI’ 13 paper ’CLAP:Recording Local Executions to Reproduce Concurrency Failures’ was implemented.Record and Replay tools are fundamental to dynamic program analysis.

More specifically, concurrency bugs are reproduced as follows. In the first step,thread local execution paths are logged at runtime. This step uses the BallLarus profiling technique (Efficient Path Profiling, MICRO’ 96) to record the pathconstraints and program order constraints. In the second step, we also add interthread constraints and feed it to the constraint solver Z3 to get a global schedulethat reproduces the bug. This step is computed offline.

Aranca Website

Feb 2015 - May 2015

Technologies used: Craft CMS, Virtual Box using Laravel Homestead, Git, Grunt, Sass


Worked on a four month project for Aranca, a leading provider of customized investment research, business research, intellectual property research and valuation services to global clients. My work involved designing and developing the front end architecture. The highlight of this project was working with Web Components on the front end. We had to design modules which could be placed anywhere on the website without breaking the site.

Virtual Air Guitar

September 2011 - May 2012

Technology used: MATLAB


My final year augmented reality project based on color detection, image processing and sound processing techniques.

Education

Indian Institute of Science, Bangalore

PhD in Computer Science, 2016 - ongoing

CGPA: 7.5

Xavier Institute of Engineering, Mumbai

BE-Computer Engineering, 2008-2012

First Class with Distinction

Work Experience - Teaching

Lecturer at St. Francis Institute of Technology, Mumbai

July 2013 - June 2014

Subjects taught: Mobile Computing and Theoretical Computer Science for fourth year and second year engineeering students respectively.

Lecturer at Xavier Institute of Engineering, Mumbai

January 2013 - May 2013

Subjects taught: Internet Programming and Software Engineering for second year and third year students engineeering respectively.

Co-Curricular Activities

Talks given

  1. "Declarative programming using Alloy" at the 6th Undergraduate Summer School at CSA, IISc. Watch video here.
  2. "Music programming using Chuck" at the CSA Open day 2018 at CSA, IISc. Chuck is an on-the-fly music programming language developed at Stanford.
  3. "Declarative programming using Alloy" at the 5th Undergraduate Summer School at CSA, IISc. Watch video here.
  4. "Declarative programming using Alloy" at the CSA Open day 2017 at CSA, IISc.
  5. "Verifying C programs using VCC" at the CSA Open day 2017 at CSA, IISc.

Talks/Workshops/Conferences/Schools attended

  1. Selected for “ACM's Winter School in Software Engineering” at Tata Research Development and Design Centre (TRDDC) , Pune, December 2017
  2. Selected for First Indian SAT+SMT workshop” at Tata Institute of Fundamental Research (TIFR), Mumbai, December 2016
  3. Attended a two week ISTE Workshop on Computer Programming for faculty held by the Indian Institute of Technology Bombay in May, June 2014

Positions of Responsibility

  1. Member of Web System admin team, CSA since August 2016
  2. Member of Student Council Security Committee, Indian Institute of Science since April 2018
  3. Digital Marketing for CSA Open day 2018 at CSA, IISc
  4. Digital Marketing for CSA Open day 2017 at CSA, IISc
  5. Digital Marketing and Logo Overhaul for Rhythmica, IISc

Key Skills

  • Teaching
  • Theoretical Computer Science
  • Operating Systems
  • Program Analysis
  • Algorithms
  • Program Verification
  • Program Synthesis
  • Research
  • Digital Marketing
  • Decision Making
  • Negotiations

Work Experience - the other side

Founder at Stanly Classes, Mumbai

January 2015 - May 2017

This was my solo venture where I tuaght the following subjects:
'Theoretical Computer Science / Automata Theory', 'Operating Systems' and 'Systems Programming and Compiler Construction'.
The venture ended its fourth (and final) season in May 2017 with a total of 100+ satisfied students.

Freelance Web Engineer / Trainer

August 2014 - March 2016

  • Workshop on Front end technologies(HTML5, CSS3, JS and Bootstrap), St. Francis Institute of Technology, Mumbai, March 2016
  • Workshop (Virtual Session) on Bootstrap, Atharva College of Engineering, Mumbai, Feb 2016
  • Workshop on MEAN Stack, Mumbai, June 2015
  • Project - Aranca Website, Feb 2015 - May 2015
  • Workshop on MEAN Stack, Goa, January 2015

Founder at Gnostopedia

January 2014 - August 2014

Gnostopedia (Gnosis + Pedia = Collection of Knowledge) was my online educational startup where I worked as a content developer. I started with video explanations for various technical questions which were asked in the GATE exam organized by the Indian Institute of Technologies. I developed, created and recorded contents using simple tools. The subjects were part of the undergraduate curriculum of Computer Science. Solving a particular problem in depth, designing its teaching methodology, flow, pattern and finally explaining the problem accurately (by eliminating potential doubts), was a challenging task. This channel recieved good reviews from students all over India.

Informal Teaching Experience

  1. Systems Programming and Compiler Construction - May 2017
  2. Theoretical Computer Science- - May 2017
  3. Systems Programming and Compiler Construction- Jan 2016 - June 2016
  4. Theoretical Computer Science- January 2016 - June 2016
  5. GATE Prep- March 2016 - April 2016
  6. Derivatives- March 2016 - April 2016
  7. Operating Systems- August 2015 - November 2015
  8. Derivatives and Integration- April 2015
  9. Theoretical Computer Science- January 2015 - June 2015
  10. IIT-JEE Mathematics Prep- August 2014 – November 2014
  11. Engineering Mathematics 3 (Electronics and Telecommunication)- August 2014-December 2014
  12. Theoretical Computer Science Crash Course- August 2014-December 2014
  13. Theoretical Computer Science- August 2014-December 2014
  14. [Peer] GRE Basics of Verbal
  15. Engineering Mathematics 4 (Civil)- January 2013- May 2013
  16. [Peer] GATE Concepts on Analysis of Algorithms, Theoretical Computer Science, Computer Networks, Database Systems, Mathematics, Operating Systems- February 2013
  17. Digital Signal and Image Processing Crash Course- November 2012
  18. Overview of Microprocessors- November 2012
  19. Theoretical Computer Science Crash Course- November 2012
  20. Engineering Mathematics 1 crash course (Computer and Mechanical commons like eigen and complex)- August 2012-December 2012
  21. Engineering Mathematics 3 (Civil)- August 2012- December 2012
  22. Engineering Mathematics 2 (Civil)- Jan 2012- May 2012
  23. [Peer] Digital Signal and Image Processing-October 2011-December 2011
  24. Engineering Mathematics 1 (Civil)- August 2011- December 2011
  25. Grade 12 Mathematics- August 2011- February 2012
  26. Grade 12 Mathematics- August 2010- February 2011

Extra-Curricular Activities

Music Experience, Skills and Achievements

  1. Part of Rhythmica, IISc. Check our band videos here!
  2. A guitarist who plays rhythm, lead and bass by ear
  3. Plays percussive instruments: Congo, Bongo, Djembe and Shakers
  4. Amateur drummer
  5. Conducted a guitar workshop at Xavier Institute of Engineering, Mumbai in 2011
  6. Conducted a guitar workshop at St. Francis Institute of Technology, Mumbai in 2014
  7. Taught guitar to 10+ students from 2008-2012
  8. Played with 3 bands and have performed with them at various locations in India
  9. Secured first place in the instrumental competition “Make some noise” held at Xavier Institute of Engineering in February 2012 for playing ‘Drifting’ by Andy Mckee on the acoustic guitar
  10. Secured second place as a band in “Amateur Night” held by in February 2012

Interests and Hobbies

Travelling – Bike rides, Trekking, Adventure Sports; Cooking and tasting different cuisines; Sports- Table tennis, Carom, Chess, and Football; Solving puzzles and Rubix Cube; keeping abreast with the latest technology.