Posts

Software Engineering for Robotics Workshop ...

David Shriver earns Ph.D...

Breakthroughs in DNN Verification to tackle richer properties, bigger and more complex DNNs, ...

Program Analysis Meets Autonomous Robots - ICSE 2020 technical briefing

I was invited to give a technical briefing at ICSE 2020 on the work our team has been doing at the intersection of robotics and software engineering. The video offers a good summary of our progress and directions.

State of ICSE

My last Report as ICSE Steering Committee Chair …

FSE Test of Time Award

The Foundations of Software Engineering Test of Time Award recognizes highly influential papers published ten years ago in ESEC or FSE. …

Adios to UNL

I am leaving UNL to join the University of Virginia in the Fall 2018. I have only gratitude to my colleagues and staff at the …

Think Like an Immigrant

I was honored to give the UNL graduate commencement speech in December 2016. Perhaps not good enough to make it to the “Best …

Teaching

Spring 2024: CS3240: Advanced Software Development (aka Software Engineering - co-taught with Professor Sherriff)

This course covers the software engineering fundamentals. Topics include requirement elicitation, design evaluation, collaborative system implementation, change management, testing and quality assurance, all while instilling ethical and professional behaviors. The course includes the utilization of tools and the development of a class project.

Fall 2023: CS6500: SE for ML

This course explores the challenges and state-of-the-art techniques to build ML applications utilizing sound SE principles. The course includes extensive paper reading and analysis, a number of presentations, and an applied project.

Spring 2023: CS6888: Program Analysis and its Applications

This course explores state-of-the-art automated analysis techniques and their application. Topics include dynamic and static program analysis techniques, test generation, fault localization and debugging, model inferencing, and model checking. The course includes the utilization of tools and the development of a class project that builds and improves on existing techniques.

Fall 2022: Robotics for Software Engineers

Developing software for robot systems is challenging as they must sense, actuate, and represent the physical world. Sensing the physical world is usually noisy, actuating in and on the world is often inaccurate, and the knowledge and representation of the world is incomplete and uncertain. In this class we explore basic approaches to cope with those challenges. You will learn abstractions, architectures, libraries, verification and validation approaches, simulation, and frameworks and tools to perform robot activities like motion, navigation, perception, planning, and interaction. The expectation is that his course opens up new career options in robotics for computer science students.

Spring 22: Seminar CS 8501: Robustness of Autonomous Systems

Fall 2021: CS6888: Program Analysis and its Applications

This course explores state-of-the-art automated analysis techniques and their application. Topics include dynamic and static program analysis techniques, test generation, fault localization and debugging, model inferencing, and model checking. The course includes the utilization of tools and the development of a class project that builds and improves on existing techniques.

Spring 2021: Robotics for Software Engineers

Developing software for robot systems is challenging as they must sense, actuate, and represent the physical world. Sensing the physical world is usually noisy, actuating in and on the world is often inaccurate, and the knowledge and representation of the world is incomplete and uncertain. In this class we explore basic approaches to cope with those challenges. You will learn abstractions, architectures, libraries, verification and validation approaches, simulation, and frameworks and tools to perform robot activities like motion, navigation, perception, planning, and interaction. The expectation is that his course opens up new career options in robotics for computer science students.

Fall 2020: Program Analysis and its Applications
Covid-19 Adjustments (subject to change): this class will be online, mostly with synchronous lectures and labs.

This course explores state-of-the-art automated analysis techniques and their application. Topics include dynamic and static program analysis techniques, test generation, fault localization and debugging, model inferencing, and model checking. The course includes the utilization of tools and the development of a class project that builds and improves on existing techniques.

Spring 2020: Robotics for Software Engineers
Covid-19 Adjustments (subject to change): check course website for revised schedule and expectations.

Developing software for robot systems is challenging as they must sense, actuate, and represent the physical world. Sensing the physical world is usually noisy, actuating in and on the world is often inaccurate, and the knowledge and representation of the world is incomplete and uncertain. In this class we explore basic approaches to cope with those challenges. You learn to use abstractions, architectures, libraries, verification and validation approaches, simulation, and frameworks and tools to perform robot activities like motion, navigation, perception, planning, and interaction. The expectation is that his course opens up new career options in robotics for computer science students.

Fall 2019: Analysis of Software Engineering Artifacts

This course explores state-of-the-art automated techniques that make the analysis of various software artifacts, from models to code, cost-effective. Topics include dynamic and static program analysis techniques, test generation, fault localization and debugging, model inferencing, and model checking. The course includes the utilization of the latest research tools and the development of a class project that builds and improves on existing techniques.

Spring 2019: Software Engineering for Robotics

This was the first offering of this course covering specialized software engineering approaches, techniques, and tools for the development of robotic systems. Topics included domain-specific architectures and design principles, modeling robot and environmental states, abstractions for mapping, localization, and navigation, planning, control structures and properties, filtering mechanisms for sensors and actuators, and analysis, verification, and simulation for dependability.

Students

References: (A) Advisor, (CA) Co-Advisor

Current Students

PhDs
  • Carl Hildebrandt (A)
  • Meriel Stein (A)
  • Trey Woodlief (CA)
  • Felipe Toledo (A)

Alumni

If you should be a part of this list please send me an email!

PhDs
  1. David Shriver (CA, Ph.D)523)
  2. Ajay Shankar (CA, Ph.D:) 821)
  3. John-Paul Ore (CA, Ph.D:) 819)
  4. Wei Sun (CA, PhD: 1217)
  5. Katie Stolee (A, PhD: 82013)
  6. Pingyu Zhang (A, PhD: 82013)
  7. Rahul Purandare (Post Doc CA, 52013)
  8. Zhimin Wang (A: 82008)
  9. Mark Fisher (CA: 82008)
  10. Joe RuthRuff (CA: 52008)
  11. Madeleine Hardojo(A: 52004)
MS
  1. Chris Morse (A, 623)
  2. Christian Garret (A, 822)
  3. Andrew Elsey (CA, 521)
  4. Balaji Balasubrmanian (CA, 1218)
  5. Jingjing Liang (CA, 518)
  6. David Shriver (A, 518)
  7. Evan Beachly (CA, 1217)
  8. Nishant Sharma (CA, 1017)
  9. Matias Waterloo (A, 816)
  10. Adam Taylor (A, 122015)
  11. Eric Rizzi (CA, 82015)
  12. Hengle Jiang (A, 52014)
  13. Heath Roehr (CA, MS: 52013)
  14. Lucy Wang (CA, MS: 82012)
  15. Javier Darsie (A, 82012)
  16. Rahul Purandare (CM, Phd 42011)
  17. Xin Guo (REU, 52011)
  18. Katie Stolee (A, MS: 82010)
  19. Madeleine Diep (A: 42009)
  20. Matt Jorde (A: 52008)
  21. Padma Ashokumar (CA: 122007)
  22. Hui Nee Chin (A: 82007)
  23. Andhy Koesnandar (CA: 52007)
  24. Sandeep Lingam (A: 52006)
  25. Bhuvana Gopal (A: 12006)
  26. Fidel Knowcha (A: 82004)
  27. Ram Kalyan Chilakamarri (A: 52004)
  28. Sameera Reddy(A:72004)
  29. Satya Kanduri (A: 72003)
  30. Praveen Kallakuri (A: 122002)
  31. Srikanth Karre (A: 112002)
  32. Xin Liu (A: 52002)
  33. Smita Narla (A: 82001)
  34. David Gable (A: 42001)
  35. Jian Tang (P: 52001)
  36. Lingyun Wang (P: 52001)
  37. Luyin Zhao (P: 52001)

Undergraduate Research or Project Advising

  1. Mira Khan
  2. Zharif Cabrera
  3. Samuel Ghezae
  4. Avaneen Pinninti
  5. Joanna Zhao
  6. Michael Chinn
  7. Nate Olsen
  8. Derek Tan
  9. Ethan Butt
  10. Mark Nail
  11. Chris Laney
  12. Daniel Lobos
  13. Josh Reed
  14. Nick Steinbaugh
  15. Jon Dokulil
  16. Khoa Le
  17. Tuan Duc Dao
  18. David Friberg
  19. Jared Bakewell
  20. Binh Huynh
  21. Shane Geiger
  22. Ted Whaler
  23. Eric Gruber

Contact