January 9, To Whom It May Concern:

Size: px
Start display at page:

Download "January 9, 2014. To Whom It May Concern:"

Transcription

1 Aws Albarghouthi Department of Computer Science University of Toronto King s College Road Toronto, ON M5S 3G4 Canada Tel: [email protected] January 9, 2014 To Whom It May Concern: I am on the job market for a tenure-track faculty position in Computer Science. I am currently a PhD candidate in the Department of Computer Science at the University of Toronto, and I plan to complete my studies in the spring of My expertise covers a range of areas in formal methods, programming languages, and software engineering. I am mainly interested in ensuring correctness, reliability, and security of software systems. Specifically, my research contributes automated formal techniques for proving software correctness, discovering bugs, and synthesizing correct software. My curriculum vitae (incl. list of references), research statement, and teaching statement are enclosed. My application materials, including representative publications, are also available at Please inform me if you require any additional information. The best way to contact me is through at [email protected], or by phone at Thank you for your time and consideration. Sincerely, Aws Albarghouthi

2 Aws Albarghouthi Address: DCS, University of Toronto King s College Road Toronto, Ontario, Canada M5S 3G4 Phone: [email protected] Web: Research Interests My expertise covers a range of areas in formal methods, programming languages, and software engineering. I am mainly interested in ensuring correctness, reliability, and security of software systems. Specifically, my research contributes automated formal techniques and tools for proving software correctness, discovering bugs, and synthesizing correct software. Moreover, my research has addressed important problems in automated theorem proving and SMT solving. Education University of Toronto, Toronto, ON, Canada PhD, Computer Science Advisor: Marsha Chechik Thesis Title: Interpolation-Based Software Verification Feb May 2014 (Expected) University of Toronto, Toronto, ON, Canada Sept Jan 2010 MSc, Computer Science Advisor: Marsha Chechik GPA: 4.0 / 4.0 Thesis: Abstract Analysis via Symbolic Executions McMaster University, Hamilton, ON, Canada Sept Apr 2008 BEng, Software Engineering GPA: 3.9 / 4.0 Refereed Conference and Workshop Papers Yi Li, Aws Albarghouthi, Zachary Kincaid, Arie Gurfinkel, and Marsha Chechik. Symbolic Optimization with SMT Solvers. In Proceedings of the 41st ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL), San Diego, CA, USA, January 2014 (to appear). Aws Albarghouthi and Kenneth McMillan. Beautiful Interpolants. In Proceedings of the 25th International Conference on Computer Aided Verification (CAV), Lecture Notes in Computer Science, volume 8044: , Saint Petersburg, Russia, July Aws Albarghouthi, Sumit Gulwani, and Zachary Kincaid. Recursive Program Synthesis. In Proceedings of the 25th International Conference on Computer Aided Verification (CAV), Lecture Notes in Computer Science, volume 8044: , Saint Petersburg, Russia, July Aws Albarghouthi, Arie Gurfinkel, Yi Li, Sagar Chaki, and Marsha Chechik. Ufo: Verification with Interpolants and Abstract Interpretation. In Proceedings of the 19th International Conference on Tools and Algorithms for the Construction and Analysis of Systems (TACAS), Lecture Notes in Computer Science, volume 7795: , Rome, Italy, March International Competition on Software Verification (SV-COMP 2013) Contribution. Winner of 4 gold medals and 1 bronze medal (see Awards and Scholarships section).

3 Aws Albarghouthi Curriculum Vitae 2 Aws Albarghouthi, Arie Gurfinkel, and Marsha Chechik. Craig Interpretation. In Proceedings of the 19th International Static Analysis Symposium (SAS), Lecture Notes in Computer Science, volume 7460: , Deauville, France, September Aws Albarghouthi, Yi Li, Arie Gurfinkel, and Marsha Chechik. Ufo: A Framework for Abstractionand Interpolation-Based Software Verification. In Proceedings of the 24th International Conference on Computer Aided Verification (CAV), Lecture Notes in Computer Science, volume 7358: , Berkeley, CA, USA, July Aws Albarghouthi, Rahul Kumar, Aditya Nori, and Sriram Rajamani. Parallelizing Top-down Interprocedural Analyses. In Proceedings of the 33rd ACM SIGPLAN Conference on Programming Languages Design and Implementation (PLDI), SIGPLAN Notices, volume 47,6: , Beijing, China, June Aws Albarghouthi, Arie Gurfinkel, and Marsha Chechik. From Under-approximations to Overapproximations and Back. In Proceedings of the 18th International Conference on Tools and Algorithms for the Construction and Analysis of Systems (TACAS), Lecture Notes in Computer Science, volume 7214: , Tallinn, Estonia, March Aws Albarghouthi, Arie Gurfinkel, and Marsha Chechik. Whale: An Interpolation-based Algorithm for Inter-procedural Verification. In Proceedings of the 13th International Conference on Verification, Model Checking, and Abstract Interpretation (VMCAI), Lecture Notes in Computer Science, volume 7148: 39-55, Philadelphia, US, January Aws Albarghouthi, Arie Gurfinkel, Ou Wei, and Marsha Chechik. Abstract Analysis of Symbolic Executions. In Proceedings of the 22nd International Conference on Computer Aided Verification (CAV), Lecture Notes in Computer Science, volume 6174: , Edinburgh, UK, July Aws Albarghouthi, Jorge Baier, and Sheila McIlraith. On the Use of Planning Technology for Verification. In Proceedings of Verification and Validation of Planning and Scheduling Systems Workshop (VVPS), Thessaloniki, Greece, September Papers in Submission/Progress Aws Albarghouthi, Josh Berdine, Byron Cook, and Zachary Kincaid. Spatial Interpolants. Submitted. Aws Albarghouthi, Isil Dillig, and Arie Gurfinkel. Specification Synthesis with Multi-Abduction. In progress. Awards and Scholarships Winner of 4 Gold Medals and 1 Bronze Medal 2013 International Competition on Software Verification (SV-COMP) My automated verification tool, Ufo, won the first place in 4 (out of 10) verification categories (tracks), the largest number of gold medals amongst the eleven participating tools. Categories won: (1) Linux Device Drivers, (2) Control Flow and Integers, (3) Product Lines, and (4) SystemC. Alexander Graham Bell Canada Graduate Scholarship Sept Aug 2013 National Award (NSERC CGS D), Value: 35,000$/year for 3 years Ontario Graduate Scholarship (OGS) Sept Aug 2010 Provincial Award, Value: 15,000$/year for 2 years Ontario Graduate Scholarship in Science and Technology Sept Aug 2009 University of Waterloo, Value: 10,000$, Declined for OGS (see above).

4 Aws Albarghouthi Curriculum Vitae 3 The Dr. Harry Lyman Hooker Scholarship Sept Apr 2008 McMaster University, Value: 1,500$ NSERC Undergraduate Student Research Award May Aug 2007 McMaster University, Value: 4,500$ The Motorola Software Engineering Scholarship Sept Apr 2007 McMaster University, Value: 1,500$ Member of Golden Key International Honor Society Sept Apr 2008 McMaster University, Top 15% in faculty Nortel Networks Scholarship in Information Technology Sept Apr 2006 McMaster University, Value: 1,000$ Professional Experience Research Intern March May 2013 Microsoft Research Cambridge, Cambridge, UK Worked with Byron Cook and Josh Berdine, of the Programming Principles and Tools (PPT) group, on lazy and precise algorithms for verifying heap-manipulating programs using separation logic and interpolation. Research Intern June Sept 2012 Microsoft Research Redmond, Redmond, WA, USA Worked with Kenneth McMillan, of the Research in Software Engineering (RiSE) group, on developing new Craig interpolation algorithms with simplicity and generality in mind. Research Intern April July 2011 Microsoft Research India, Bangalore, India Worked with Aditya Nori and Sriram Rajamani, of the Programming Languages and Tools (PLATO) group, on developing a framework for parallelizing a large class of interprocedural analysis algorithms, particularly for verification and testing. Undergraduate Researcher May Aug 2007 Department of Computing and Software, McMaster University Worked with Wolfram Kahl on developing and documenting different parts of the Relation-Algebraic Tools for Haskell (RATH) libraries. Undergraduate Researcher Apr Aug 2006 Department of Computing and Software, McMaster University Worked with Wolfram Kahl and Christopher Anand on porting the open source Fast Fourier Transform library FFTW to the Cell Processor. Talks From Bounded to Unbounded Proofs of Correctness Georgia Institute of Technology, Atlanta, GA, USA, November Microsoft Research Cambridge, Cambridge, UK, April Software Verification with DAG Interpolants Imperial College London London, UK, September Beautiful Interpolants International Conference on Computer Aided Verification (CAV) St. Petersburg, Russia, July 2013.

5 Aws Albarghouthi Curriculum Vitae 4 Recursive Program Synthesis International Conference on Computer Aided Verification (CAV) St. Petersburg, Russia, July DAG Interpolation for Software Verification Workshop on Interpolation: From Proofs to Applications (IPrA, at CAV) St. Petersburg, Russia, July From SMT Solvers to Verifiers High Confidence Software and Systems Conference (HCSS) Annapolis, MD, USA, May Battling the Infinite: Proving Safety of Programs University College London, London, UK, March Technische Universität München, Munich, Germany, March Craig Interpretation Microsoft Research Cambridge, Cambridge, UK, September International Static Analysis Symposium (SAS), Deauville, France, September Beautiful Proofs Microsoft Research Redmond Redmond, WA, USA, September Ufo: A Framework for Abstraction- and Interpolation-Based Software Verification International Conference on Computer Aided Verification (CAV) Berkeley, CA, USA, July Parallelizing Top-down Interprocedural Analyses ACM SIGPLAN Conference on Programming Languages Design and Implementation (PLDI) Beijing, China, June From Under-approximations to Over-approximations and Back International Conference on Tools and Algorithms for the Construction and Analysis of Systems (TACAS) Tallinn, Estonia, March The Rise of the Interpolants Student Session at ACM SIGPLAN Symposium on Principles of Programming Languages (POPL) Philadelphia, PA, USA, January Whale: An Interpolation-based Algorithm for Inter-procedural Verification International Conference on Verification, Model Checking, and Abstract Interpretation (VMCAI) Philadelphia, PA, USA, January Abstract Analysis of Symbolic Executions International Conference on Computer Aided Verification (CAV) Edinburgh, UK, July On the Use of Planning Technology for Verification Verification and Validation of Planning and Scheduling Systems Workshop (VVPS, at ICAPS) Thessaloniki, Greece, September Teaching Experience Teaching Assistantships Department of Computer Science, University of Toronto Introduction to Computer Programming Sept Dec 2010 Introduction to Software Engineering Sept Dec 2009 Data Structures and Algorithms Jan Apr 2009

6 Aws Albarghouthi Curriculum Vitae 5 Software Design Sept Dec 2008 Faculty of Engineering, McMaster University Engineering Computation Sept Dec 2006 & Sept Apr 2008 Professional Activities Program Committee Member: International Competition on Software Verification (SV-COMP 2014). Conference and Workshop Reviewing: International Conference on Computer Aided Verification (CAV 2013), International Conference on Tools and Algorithms for the Construction and Analysis of Systems (TACAS 2013), ACM SIGPLAN-SIGSOFT Workshop on Program Analysis for Software Tools and Engineering (PASTE 2013), International Symposium on the Foundations of Software Engineering (FSE 2012), International Symposium on Formal Methods (FM 2012), Asian Symposium on Programming Languages and Systems (APLAS 2012), International Symposium on Automated Technology for Verification and Analysis (ATVA 2012), International Conference on Fundamental Approaches to Software Engineering (FASE 2012), International Conference on Verification, Model checking, and Abstract Interpretation (VMCAI 2011), International Symposium on Software Testing and Analysis (ISSTA 2011), International Conference on Software Engineering (ICSE 2010), International Conference on Automated Software Engineering (ASE 2010). Student Volunteer: Federated Logic Conference (FLoC 2010), International Symposium on Software Testing and Analysis (ISSTA 2011). Student Participant: Marktoberdorf Summer School on Software and Systems Safety, Marktoberdorf, Germany, August Software Ufo: An award-winning, LLVM-based tool and framework for automated verification of C programs. Ufo is an efficient and modular implementation of the interpolation-based verification algorithms I have developed as part of my PhD work. Webpage and repository: bitbucket.org/arieg/ufo. Symba: One of the first optimizing SMT solvers for objective functions in rational arithmetic. Webpage and repository: bitbucket.org/arieg/ufo/src/popl14. Escher: An interactive and extensible recursive program synthesizer. Given input-output examples, Escher uses novel algorithms to synthesize recursive functions implementing intended functionality, with the goal of enabling end-user programming. Yogi Project: Developed a parallel interprocedural version of Yogi, a verification tool that combines static analysis and testing. Contribution as part of an internship at Microsoft Research India. Webpage: research.microsoft.com/en-us/projects/yogi. T2: Developed a novel heap interpolation engine in the T2 verification tool, and extended T2 to reason about heap and data. Contribution as part of an internship at Microsoft Research Cambridge. Webpage: research.microsoft.com/en-us/projects/t2. Citizenship Canada

7 Aws Albarghouthi Curriculum Vitae 6 References Marsha Chechik Kenneth McMillan Professor & Vice Chair Principal Researcher Dept. of Computer Science Microsoft Research University of Toronto One Microsoft Way 40 St. George Street Redmond, WA Toronto, ON M5S 2E4 USA Canada [email protected] [email protected] Byron Cook Peter O Hearn Principal Researcher & Professor Professor Microsoft Research & University College London Computer Science Dept. 21 Station Road University College London Cambridge, CB1 2FB Gower Street United Kingdom London WC1E 6BT [email protected] United Kingdom [email protected]

8 Aws Albarghouthi Research Statement Picture a world where you can ask questions about a piece of code and have tools that automatically and efficiently answer them for you. Can a division by zero ever occur? Are all elements in this list always greater than ten? Does this program always terminate? Are there any race conditions? In such a world, software is considerably more reliable and secure than what we currently have; software has fewer bugs and is easily certifiable like other engineering artifacts; software-induced disasters are effortlessly avoided; and the billions of dollars that are normally spent on testing and maintenance activities are instead poured into more productive endeavours. Moreover, the software creator has a much closer and more interactive relationship with her creation: by being able to ask questions and have automated tools answer them, she can glean deep insights into her complex creation. The positive effects of these tools, in the said world, can transcend professional software development. For instance, these tools can impact compilers, which can ask deep questions about programs and as a result apply aggressive optimizations; and students learning programming, who can have a richer and more disciplined interaction with programs than the run it and see what happens one. Alas, such a world is an imaginary utopia, as the majority of these verification questions translate into undecidable problems (due to their relation to the halting problem). Nevertheless, we can still try to design algorithms that answer some questions about programs most of the time, and this is precisely how I spend most of my time: expanding the frontiers and possibilities of automated software verification, making verification technology more efficient, scalable, and applicable, edging us closer to this utopia of software reliability. Drawing inspiration from the formal methods, programming languages, and software engineering fields, I introduced new verification algorithms (static analyses) for proving desirable properties of programs (e.g., no assertions are violated) and discovering buggy executions that invalidate a given correctness property. My work on verification algorithms (1) dramatically boosted the performance of verification technology and (2) expanded the range of verifiable classes of programs. In order to achieve these results, I developed deep logical reasoning techniques, based on Craig interpolation, to analyze programs symbolically and construct proofs of correctness. Armed with the theory and algorithms I developed, I built an automated verification system, Ufo, that proved correctness of (and found bugs in) a large range of programs, including embedded pacemaker code and Linux device drivers. Ufo recently won the largest number of gold medals in the International Competition on Software Verification (SV-COMP 2013), as discussed in further detail below. Furthermore, my research has addressed a number of important limitations in SMT solvers, which are groundbreaking theorem provers that are used extensively in verification, programming languages, and software engineering research. In what follows, I first provide a detailed exposition of some of my research contributions, and then outline my future research agenda. Research Contributions Verification Algorithms. For part of my PhD work, I developed a family of automated verification algorithms [1, 3, 4, 5, 6] that adopt what I call the small fragment hypothesis: by proving non-existence of bugs within a small yet representative fragment of the program, we can generalize the proof to the whole program. A central theme underlying my verification techniques is the use of Craig interpolants, fundamental logical constructs for first-order logic that are utilized to generalize proofs of simple problem instances. Specifically, one of my main research insights is DAG interpolation, a new form of Craig interpolation that allows efficient construction of correctness proofs by symbolically and simultaneously proving a large number of program executions represented as a graph. This is in contrast to previous verification techniques [12], which examined a single execution at a time. My work on DAG interpolation dramatically boosted the efficiency of interpolation-based verification and inspired techniques for verifying new I acknowledge the invaluable contributions of my co-authors to the research I describe in this document.

9 Aws Albarghouthi Research Statement 2 classes of programs, for example, recursive and concurrent programs. One of the main advantages of my proposed algorithms is their generic nature. First, they target safety properties, which encompass a wide range of desirable correctness criteria (e.g., no assertions are violated, memory safety, secure information flow, etc.) and form the basis of other important classes of properties like termination. Second, since my techniques are logic-based, future advances in theorem proving make them directly applicable to new classes of programs and properties. At a technical level, my work (1) introduced the concept of DAG interpolants [4] and showed how to enhance interpolation with abstract interpretation-style static analyses [3]; (2) introduced a novel interpolationbased algorithm for recursive (as well as concurrent) program verification, demonstrating how interpolants can be used to efficiently construct modular interprocedural proofs [5]; and (3) showed how to marry interpolation technology with separation logic for reasoning about intricate data structure manipulation [1]. Automated Verification Tools. My research philosophy strongly emphasizes the importance of supplementing theoretical and algorithmic development with building scalable and efficient tools for verifying real world code. To that end, my research on interpolation-based verification algorithms has culminated in Ufo [8], an open source software verifier for C programs. I have used Ufo to verify and find bugs in a wide range of large programs, including Linux device drivers, Windows device drivers, and embedded pacemaker code. In the 2013 International Competition on Software Verification (SV-COMP) [10], Ufo won four gold medals. This was the largest number of gold medals won by any of the eleven competing software verifiers. Notably, Ufo won in the Linux device driver and the Windows device driver verification categories, significantly outperforming state-of-the-art tools and techniques. In other work, I addressed the important question of exploiting multi-core processors to scale verification and bug finding tools. In particular, I proposed a general MapReduce-style framework [7] for parallelizing existing verification and bug finding algorithms. My framework capitalizes on the procedural decomposition of programs to analyze every procedure on a different thread, while carefully managing the intricate dependencies between different procedures. I used this framework to parallelize verification algorithms, and applied it to a large number of Windows device drivers. The results demonstrated significant performance improvements over sequential verification algorithms, achieving maximum speedups of 7x on an 8-core machine. Automated Theorem Proving. The performance of the aforementioned algorithms (as well as many other verification techniques) hinges on (1) the generalizing power of Craig interpolants and (2) the speed and capabilities of Satisfiability Modulo Theories (SMT) solvers. My research has advanced both of these areas. Interpolants are of critical importance in state-of-the-art software and hardware verification tools. In my work, I rethought existing interpolant generation methodologies and proposed a novel interpolation technique [9] that constructs simpler and more general interpolants. Following Occam s razor, the idea is that a simpler explanation (interpolant) is more likely to generalize (i.e., help us discover a proof of the program). When used in a software verification setting, this new interpolant generation technique was able to verify programs that are out of reach of state-of-the-art verification tools. Moreover, I showed how my interpolation technique can be utilized to improve performance of SMT solvers, in some cases solving satisfiability problems in 1 second where a modern SMT solver takes 3 minutes. In another project, I addressed a major limitation of SMT solvers. Whereas SMT solvers are great at finding satisfying assignments of huge formulas over a variety of logical theories, little work has been done on finding optimal satisfying assignments for arithmetic objective functions. Not only does this foundational optimization problem have numerous applications in program analysis and verification (e.g., finding performance bugs), but its importance cuts across computer science, engineering, operations research, and other fields. To address this problem, I developed a novel SMT-based numerical optimization technique [11] that scales to very large formulas, with thousands of variables, and strictly outperforms competing techniques.

10 Aws Albarghouthi Research Statement 3 Future Outlook One of the immensely exciting and challenging aspects of software verification and program analysis research is the ever-evolving landscape of software and hardware infrastructure, which never ceases to pose new research problems. In what follows, I describe how I plan to expand my research exploits and tackle new and pressing challenges in verification research. Synthesizing Provably Correct Code. In verification, we are interested in answering questions of the form: does program A satisfy property B? Synthesis is the flip side of verification, where our goal is to construct a program A that satisfies a property B. The ultimate goal of synthesis is to automate programming tasks. I have started advancing this area in two different directions. First, I have worked on synthesizing programs from input-output specifications [2], with the goal of automating programming tasks for end-users without programming knowledge and skills. Second, I am currently investigating the problem of synthesizing specifications (summaries) of unavailable library code that ensure correctness of a given program. This work is of importance in verification of large systems with many inter-connected components, where some components are unavailable (e.g., proprietary) or too complex for analysis (e.g., OS kernel routines). Additionally, this work makes the first concrete steps towards synthesizing code for unknown functions, thus enabling developers to leave out parts of the program and have them be automatically and correctly synthesized. This is of particular interest when designing and writing intricate and critical system components: the developer sets up the solution, and the synthesizer automatically completes the program while ensuring its correctness. I believe that in the future synthesis technology will facilitate automation of a wide range of programming tasks. I plan to address a number of challenging problems that stand in the way of realizing this vision. For instance, in terms of logical reasoning, we require logical synthesis (abductive inference) techniques for expressive theories that model program behavior. Consequently, we are in need of clever ways of transforming logical formulas into correct and efficient executable code. Scaling Verification and Analysis to Millions of Lines of Code. Scaling verification and program analysis techniques to very large programs is a non-trivial endeavour due to the inherent complexity of the verification task. Distributed and cloud computing infrastructure provides an attractive plan of attack. Inspired by my work on parallelizing verification and analysis algorithms [7], I would like to investigate distributing verification algorithms. The main challenges here are the intricate interactions and dependencies between different procedures of the program we cannot simply analyze each procedure in isolation. Thus, the primary problem is finding efficient distribution strategies with low communication overhead. This direction comes with a number of interesting opportunities, for example, hosting verification and analysis services in the cloud, automatic distribution of verification and analysis algorithms, and exchange of procedure summaries between different verification clients. Armed with efficient distribution mechanisms, we can perform more precise program analyses, aiding software developers with bug finding and enabling compilers to perform aggressive optimizations at a lower cost. Program Analysis Technology and Mobile Computing. Over the past few years, we have witnessed huge gains in the performance of mobile computing platforms and widespread proliferation of devices such as smartphones and tablets. Mobile computing software comes with a range of important problems that need to be addressed, including security, privacy, and power consumption. In all of these problems, verification and program analysis technology can play an important role. For example, with the limited battery power on these devices, a key challenge in software design for mobile platforms is power consumption. I plan to leverage my expertise in verification and program analysis to design algorithms and tools that can infer power consumption of mobile applications, and aid developers in writing power-efficient applications. This an under-explored area where I believe program analysis technology can have a significant impact.

11 Aws Albarghouthi Research Statement 4 References [1] A. Albarghouthi, J. Berdine, B. Cook, and Z. Kincaid. Spatial Interpolants In submission. [2] A. Albarghouthi, S. Gulwani, and Z. Kincaid. Recursive Program Synthesis. In CAV, [3] A. Albarghouthi, A. Gurfinkel, and M. Chechik. Craig Interpretation. In SAS, [4] A. Albarghouthi, A. Gurfinkel, and M. Chechik. From Under-Approximations to Over- Approximations and Back. In TACAS, [5] A. Albarghouthi, A. Gurfinkel, and M. Chechik. Whale: An Interpolation-Based Algorithm for Inter-procedural Verification. In VMCAI, [6] A. Albarghouthi, A. Gurfinkel, O. Wei, and M. Chechik. Abstract Analysis of Symbolic Executions. In CAV, [7] A. Albarghouthi, R. Kumar, A. V. Nori, and S. K. Rajamani. Parallelizing Top-down Interprocedural Analyses. In PLDI, [8] A. Albarghouthi, Y. Li, A. Gurfinkel, and M. Chechik. Ufo: A Framework for Abstraction- and Interpolation-Based Software Verification. In CAV, [9] A. Albarghouthi and K. L. McMillan. Beautiful Interpolants. In CAV, [10] D. Beyer. Second Competition on Software Verification (Summary of SV-COMP). In TACAS, [11] Y. Li, A. Albarghouthi, A. Gurfinkel, Z. Kincaid, and M. Chechik. Symbolic Optimization with SMT Solvers. In POPL, To appear. [12] K. L. McMillan. Lazy Abstraction with Interpolants. In CAV, 2006.

12 Aws Albarghouthi Teaching Statement My most enjoyable courses as a student were those taught by professors whose passion for the subject shone through their engaging and theatrical teaching style. I clearly remember, for example, my programming languages class as an undergraduate student. The professor s love for functional programming and his dramatic coding demonstrations mesmerized me and my classmates, inspiring us to dive deeper into the area and adopt functional languages. When teaching and mentoring, I constantly aspire to mirror this style: being passionate, engaging, and ultimately inspiring to the students. Teaching Philosophy and Experience. I have held multiple teaching assistantships during my graduate and undergraduate studies. My teaching experiences led me to develop a teaching philosophy that strongly emphasizes the following aspects: (1) interactive and engaging teaching style, where the students, together with the instructor, solve problems by iteratively refining their solutions, learning from their mistakes along the way; (2) harmonious development of theoretical foundations and practical skills, where teaching theoretical concepts and practical skills go hand in hand; and (3) story-like presentation of material, where the subject is brought to life by presenting it against a historical backdrop. One of my most delightful teaching experiences was running tutorials for the introductory engineering programming class, where we tackled programming problems in a fun and highly interactive environment. This experience made me cherish the interactive tutorial setting, where the students, steered by the instructor, attempt to synthesize programs, theorems, and proofs from scratch. When mentoring junior graduate students, I adapted this teaching style to a one-on-one setting, where I would help students progress on a research problem by constructively questioning their design decisions and assumptions, thus assisting them in understanding their mistakes and refining their solutions. With this style of instruction, the student explores a wide space of different solutions before arriving at a right one. This, as I have repeatedly noticed, strengthens the student s grasp of the material and positively affects their confidence in their abilities. My teaching experience and research focus have helped me establish a teaching philosophy that stresses the importance of building a strong theoretical foundation in computer science, while simultaneously enriching it with practical experience. This, I believe, creates a feedback loop between theory and practice, one that aids in enriching the theoretical foundations and provides a solid ground for practical applications. For example, in software engineering and formal methods courses, undergraduate students are often instructed in the importance of annotating their code with invariants and pre-/post-conditions. Unfortunately, this practical advice is often supplied to students without any theoretical context. That is, students should also be instructed in the complexity of checking such assertions, the logics in which they are written, and the algorithms used to check them. This allows students to critically reason about the practical advice they are given, and direct their practical considerations with their theoretical knowledge. One of my most memorable classes was complexity theory in graduate school. The instructor presented the material as if it is a TV drama that starts in the 1960s and teasingly ends in our modern day, where in every week s episode new protagonists emerge and prove unexpected theorems! Inspired by this course, I strongly believe in the power and importance of presenting material in a story-like fashion, connecting ideas and concepts with the people behind them and describing their historical significance. This allows students to understand the provenance of the taught concepts, their predecessors, their successors, and, as a result, their value. Weaving a historical narrative into an otherwise technical material enables the student to connect seemingly unrelated concepts, cementing the material in the student s mind and providing a rich and memorable learning experience. Future Teaching. As an academic, I would like to teach undergraduate courses on formal methods, testing, compilers, software engineering, and programming languages. I would also be happy to teach classes outside my immediate areas of interest. At a graduate level, I would be very interested in leading advanced topics classes in formal methods, programming languages, and software engineering, as well as introductory classes on model checking, program analysis, and decision procedures.

UFO: Verification with Interpolants and Abstract Interpretation

UFO: Verification with Interpolants and Abstract Interpretation : Verification with Interpolants and Abstract Interpretation and Sagar Chaki Software Engineering Institute Carnegie Mellon University Aws Albarghouthi, Yi i and Marsha Chechik University of Toronto A

More information

InvGen: An Efficient Invariant Generator

InvGen: An Efficient Invariant Generator InvGen: An Efficient Invariant Generator Ashutosh Gupta and Andrey Rybalchenko Max Planck Institute for Software Systems (MPI-SWS) Abstract. In this paper we present InvGen, an automatic linear arithmetic

More information

Invited Conference Talk (20m), A Comparison of Heuristics for Solving Problems in Approximate

Invited Conference Talk (20m), A Comparison of Heuristics for Solving Problems in Approximate John P. May Department of Computer and Information Sciences University of Delaware, Newark, DE 1-302-831-1957 (work), 1-410-810-1825 (home) [email protected] http://www.cis.udel.edu/ jpmay/ Born: August 5th,

More information

June Zhang (Zhong-Ju Zhang)

June Zhang (Zhong-Ju Zhang) (Zhong-Ju Zhang) Carnegie Mellon University Dept. Electrical and Computer Engineering, 5000 Forbes Ave. Pittsburgh, PA 15213 Phone: 678-899-2492 E-Mail: [email protected] http://users.ece.cmu.edu/~junez

More information

Masters, Computer Science [Sept. 2007 Jan. 2009]

Masters, Computer Science [Sept. 2007 Jan. 2009] Dr. Christian Muise [email protected] www.haz.ca Education Ph.D., Computer Science [Feb. 2009 Feb. 2014] Thesis: Exploiting Relevance to Improve Robustness and Flexibility in Plan Generation and

More information

Curriculum Vitae. Shan Shan Huang

Curriculum Vitae. Shan Shan Huang Curriculum Vitae Shan Shan Huang College of Computing Georgia Institute of Technology 266 Ferst Drive Atlanta, GA 30332-0765 Phone: (404)275-3312 Email: [email protected] http://www.freeflygeek.com Research

More information

Curriculum Vitae of Thomas Wies

Curriculum Vitae of Thomas Wies Curriculum Vitae of Thomas Wies Particulars address: Computer Science Department phone: +1 (212) 998 3293 Courant Institute of Mathematical Sciences fax: +1 (212) 995 4121 New York University email: [email protected]

More information

Software Verification: Infinite-State Model Checking and Static Program

Software Verification: Infinite-State Model Checking and Static Program Software Verification: Infinite-State Model Checking and Static Program Analysis Dagstuhl Seminar 06081 February 19 24, 2006 Parosh Abdulla 1, Ahmed Bouajjani 2, and Markus Müller-Olm 3 1 Uppsala Universitet,

More information

Automated Theorem Proving - summary of lecture 1

Automated Theorem Proving - summary of lecture 1 Automated Theorem Proving - summary of lecture 1 1 Introduction Automated Theorem Proving (ATP) deals with the development of computer programs that show that some statement is a logical consequence of

More information

COMPUTER SCIENCE. FACULTY: Jennifer Bowen, Chair Denise Byrnes, Associate Chair Sofia Visa

COMPUTER SCIENCE. FACULTY: Jennifer Bowen, Chair Denise Byrnes, Associate Chair Sofia Visa FACULTY: Jennifer Bowen, Chair Denise Byrnes, Associate Chair Sofia Visa COMPUTER SCIENCE Computer Science is the study of computer programs, abstract models of computers, and applications of computing.

More information

SIUE Mass Communications Graduate Program Guide & Handbook. Designed To Educate & Assist Our Prospective & Current Masters Candidates

SIUE Mass Communications Graduate Program Guide & Handbook. Designed To Educate & Assist Our Prospective & Current Masters Candidates SIUE Mass Communications Graduate Program Guide & Handbook Designed To Educate & Assist Our Prospective & Current Masters Candidates Copyright SIUE Mass Communications Department 2010 Table of Contents

More information

Igniting young minds through computer programming

Igniting young minds through computer programming Igniting young minds through computer programming igniting young minds W riting computer programs is a challenging, yet extremely satisfying personal experience that develops essential skills in logic,

More information

Course Development of Programming for General-Purpose Multicore Processors

Course Development of Programming for General-Purpose Multicore Processors Course Development of Programming for General-Purpose Multicore Processors Wei Zhang Department of Electrical and Computer Engineering Virginia Commonwealth University Richmond, VA 23284 [email protected]

More information

Executive Summary Principles and Standards for School Mathematics

Executive Summary Principles and Standards for School Mathematics Executive Summary Principles and Standards for School Mathematics Overview We live in a time of extraordinary and accelerating change. New knowledge, tools, and ways of doing and communicating mathematics

More information

RÉSUMÉS & COVER LETTERS Examples

RÉSUMÉS & COVER LETTERS Examples Resume #1: Chronological An entry-level position with Taxing Incorporated where proven experience and skills achieved through the accounting program can be efficiently applied Accounting Diploma Sept.

More information

Electronic Portfolios in Evolution

Electronic Portfolios in Evolution Electronic Portfolios in Evolution Roger Olsen [email protected] Nancy Wentworth [email protected] David Dimond [email protected] Abstract: Electronic Portfolios in Evolution describes a dynamic

More information

Resume of Hanan H. Elazhary

Resume of Hanan H. Elazhary Resume of Hanan H. Elazhary Home Phone: 35853017, 35853986 Cell Phone: 0112302019 E-mail: [email protected], [email protected] Nationality: Egyptian Gender: Female EDUCATION Ph.D. in Computer Science

More information

How To Build A Provably Secure Execution Platform For Embedded Systems

How To Build A Provably Secure Execution Platform For Embedded Systems Provably Secure Execution Platforms for Embedded Systems ---- The PROSPER Project Mads Dam KTH Royal Institute of Technology Programvara för konkurrenskraft, SSF, Vinnova, 10 Feb 2015 The Evolving Security

More information

Fashion Design Undergraduate Program

Fashion Design Undergraduate Program Fashion Design Undergraduate Program Fashion Design Undergraduate Program Table of Contents Why İstanbul Bilgi University? 1 About the Program 2 3 Duration of the Program 4 The Core Principles of the

More information

Writing in the Computer Science Major

Writing in the Computer Science Major Writing in the Computer Science Major Table of Contents Introduction... 2 Statement of Purpose... 2 Revision History... 2 Writing Tasks in Computer Science... 3 Documentation... 3 Planning to Program:

More information

Please consult the Department of Engineering about the Computer Engineering Emphasis.

Please consult the Department of Engineering about the Computer Engineering Emphasis. COMPUTER SCIENCE Computer science is a dynamically growing discipline. ABOUT THE PROGRAM The Department of Computer Science is committed to providing students with a program that includes the basic fundamentals

More information

Towards practical reactive security audit using extended static checkers 1

Towards practical reactive security audit using extended static checkers 1 Towards practical reactive security audit using extended static checkers 1 Julien Vanegue 1 Shuvendu K. Lahiri 2 1 Bloomberg LP, New York 2 Microsoft Research, Redmond May 20, 2013 1 The work was conducted

More information

SCAD Summer Seminars. Session Dates

SCAD Summer Seminars. Session Dates scad.edu/summer With exceptional facilities, extensive academic resources and diverse locations in Atlanta, Hong Kong and Savannah, SCAD is the perfect setting to create, learn and grow. This summer, explore

More information

Emmanouil Papangelis (Manos Papagelis)

Emmanouil Papangelis (Manos Papagelis) Emmanouil Papangelis (Manos Papagelis) 276 St. George St., Toronto, ON, M5R 2P5 Tel.: +1.647.995.8500 (cell) Email: [email protected] Web: http://www.cs.toronto.edu/ papaggel Career Goals I am grateful

More information

University Of Alaska Anchorage College Of Health Department Of Human Services. Criteria and Guidelines For Faculty Evaluation

University Of Alaska Anchorage College Of Health Department Of Human Services. Criteria and Guidelines For Faculty Evaluation University Of Alaska Anchorage College Of Health Department Of Human Services Criteria and Guidelines For Faculty Evaluation This document is to be used in conjunction with the UNAC and UAFT Collective

More information

Graduate Program Policies and Procedures

Graduate Program Policies and Procedures The University of British Columbia Department of Physics & Astronomy Graduate Program Policies and Procedures May 2007 Table of Contents 1 Introduction 4 2 Programs 4 3 Admissions 4 3.1 Eligibility 4 3.2

More information

Using In-Memory Computing to Simplify Big Data Analytics

Using In-Memory Computing to Simplify Big Data Analytics SCALEOUT SOFTWARE Using In-Memory Computing to Simplify Big Data Analytics by Dr. William Bain, ScaleOut Software, Inc. 2012 ScaleOut Software, Inc. 12/27/2012 T he big data revolution is upon us, fed

More information

PH.D. IN BUSINESS ADMINISTRATION

PH.D. IN BUSINESS ADMINISTRATION PH.D. IN BUSINESS ADMINISTRATION Intellectual Discovery AND INNOVATION join a nationally ranked program that is accredited by AACSB International, placing the UTSA College of Business in the top five percent

More information

Curriculum Vitae KEY QUALIFICATIONS AND EXPERIENCES: Name: Nadeem Hashem, PhD, MSc, BEng.

Curriculum Vitae KEY QUALIFICATIONS AND EXPERIENCES: Name: Nadeem Hashem, PhD, MSc, BEng. Name: Nadeem Hashem, PhD, MSc, BEng. Address: P.O Box 2713 Geography/Urban Planning Programme Department Of Humanities, College of Arts & Sciences Qatar University State of Qatar Tel: Home: +974-4507462

More information

Centre for Entrepreneurship. Master of Science in. Innovation and. graduate

Centre for Entrepreneurship. Master of Science in. Innovation and. graduate Centre for Entrepreneurship Master of Science in Innovation and Entrepreneurship graduate Prospectus WELCOME WELCOME Contents The University of Oslo Students currently studying at the Centre for Entrepreneurship

More information

Data Model Bugs. Ivan Bocić and Tevfik Bultan

Data Model Bugs. Ivan Bocić and Tevfik Bultan Data Model Bugs Ivan Bocić and Tevfik Bultan Department of Computer Science University of California, Santa Barbara, USA [email protected] [email protected] Abstract. In today s internet-centric world, web

More information

2008 2010 NSERC Alexander Graham Bell Canada Graduate Scholarship, Funding from the Canadian federal government to support graduate studies.

2008 2010 NSERC Alexander Graham Bell Canada Graduate Scholarship, Funding from the Canadian federal government to support graduate studies. Nikolai Matni, MC 305-16 (626) 787-5914 [email protected] http://www.cds.caltech.edu/ nmatni Education 2010 2015 Ph.D. in Control and Dynamical Systems,, Pasadena, CA. Thesis: Distributed Optimal Control

More information

Graduate Studies COMPUTER SCIENCE

Graduate Studies COMPUTER SCIENCE Graduate Studies COMPUTER SCIENCE www.cs.dal.ca CREATE THE FUTURE Graduate studies in computer science at Dalhousie University immerse you in a vibrant learning environment at one of Canada s leading universities.

More information

Curriculum Vitae Michael M. Zavlanos

Curriculum Vitae Michael M. Zavlanos Curriculum Vitae Michael M. Zavlanos Home Address Work Address 2114 Pine Street 3330 Walnut Street Apartment 1 Front GRASP Laboratory, Levine Hall 465 Philadelphia, PA 19103 Dept. of Electrical and Systems

More information

CHAPTER 1 INTRODUCTION

CHAPTER 1 INTRODUCTION 1 CHAPTER 1 INTRODUCTION 1.1 MOTIVATION OF RESEARCH Multicore processors have two or more execution cores (processors) implemented on a single chip having their own set of execution and architectural recourses.

More information

Introduction to Static Analysis for Assurance

Introduction to Static Analysis for Assurance Introduction to Static Analysis for Assurance John Rushby Computer Science Laboratory SRI International Menlo Park CA USA John Rushby Static Analysis for Assurance: 1 Overview What is static analysis?

More information

Model Checking: An Introduction

Model Checking: An Introduction Announcements Model Checking: An Introduction Meeting 2 Office hours M 1:30pm-2:30pm W 5:30pm-6:30pm (after class) and by appointment ECOT 621 Moodle problems? Fundamentals of Programming Languages CSCI

More information

Masters Program in Political Science:

Masters Program in Political Science: Masters Program in Political Science: Frequently Asked Questions Division of Political Science Mark O. Hatfield School of Government www.pdx.edu/hatfieldschool/political- science (Updated, September 2011)

More information

A Static Analyzer for Large Safety-Critical Software. Considered Programs and Semantics. Automatic Program Verification by Abstract Interpretation

A Static Analyzer for Large Safety-Critical Software. Considered Programs and Semantics. Automatic Program Verification by Abstract Interpretation PLDI 03 A Static Analyzer for Large Safety-Critical Software B. Blanchet, P. Cousot, R. Cousot, J. Feret L. Mauborgne, A. Miné, D. Monniaux,. Rival CNRS École normale supérieure École polytechnique Paris

More information

Master's Degree Program in Computer Science

Master's Degree Program in Computer Science Master's Degree Program in Computer Science 1. Curriculum Title Master of Science (Computer Science) M.Sc. (Computer Science) 2. Degree Title Master of Science (Computer Science) M.Sc. (Computer Science)

More information

BHARATENDU SRIVASTAVA

BHARATENDU SRIVASTAVA BHARATENDU SRIVASTAVA Department of Management College of Business Administration Marquette University P.O. Box 1881, Milwaukee, WI 53201-1881 (414) 288-3408 [email protected] EDUCATION Ph.

More information

!"#$%&'()"*"++%(*,%-")+.*(#%/"0"#.12"*3

!#$%&'()*++%(*,%-)+.*(#%/0#.12*3 INTERNATIONAL BUSINESS SKILLS COURSEWARE!"#$%&'()"*"++%(*,%")+.*(#%/"0"#.12"*3!!!!!"#$!%&'()*(+,'(!".)+!""#$%&'%#()#*)+,"%("")./&$'%'%#(/" I hear and I Forget I see and I Remember I do and I Understand

More information

Masters in Human Computer Interaction

Masters in Human Computer Interaction Masters in Human Computer Interaction Programme Requirements Taught Element, and PG Diploma in Human Computer Interaction: 120 credits: IS5101 CS5001 CS5040 CS5041 CS5042 or CS5044 up to 30 credits from

More information

M ARCH INFORMATION FOR GRADUATE SCHOOL APPLICANTS TRACK 1 TRACK 2 TRACK 3 WASHINGTON STATE UNIVERSITY THE MASTER OF ARCHITECTURE GRADUATE HANDBOOK

M ARCH INFORMATION FOR GRADUATE SCHOOL APPLICANTS TRACK 1 TRACK 2 TRACK 3 WASHINGTON STATE UNIVERSITY THE MASTER OF ARCHITECTURE GRADUATE HANDBOOK INFORMATION FOR GRADUATE SCHOOL APPLICANTS TRACK 1 TRACK 2 TRACK 3 1.5 YEARS 2.5 YEARS 3.5 YEARS EVERY MAN S WORK, WHETHER IT BE LITERATURE, OR MUSIC OR PICTURES OR ARCHITECTURE OR ANYTHING ELSE, IS ALWAYS

More information

UML-based Test Generation and Execution

UML-based Test Generation and Execution UML-based Test Generation and Execution Jean Hartmann, Marlon Vieira, Herb Foster, Axel Ruder Siemens Corporate Research, Inc. 755 College Road East Princeton NJ 08540, USA [email protected] ABSTRACT

More information

The Accelerated Master s Degree in Psychology

The Accelerated Master s Degree in Psychology The Accelerated Master s Degree in Psychology Revised: September 21, 2012 Page 1 TABLE OF CONTENTS BASIC INFORMATION Overview and Timeline... 3 Reasons to Pursue the AMP... 3 Application Process... 3 Department

More information

Graduate Program Policies and Procedures

Graduate Program Policies and Procedures The University of British Columbia Department of Physics & Astronomy Graduate Program Policies and Procedures Sept 2011 Table of Contents 1. Introduction!... 4 2. Programs!... 4 3. Admissions!... 4 3.1.

More information

Cost Model: Work, Span and Parallelism. 1 The RAM model for sequential computation:

Cost Model: Work, Span and Parallelism. 1 The RAM model for sequential computation: CSE341T 08/31/2015 Lecture 3 Cost Model: Work, Span and Parallelism In this lecture, we will look at how one analyze a parallel program written using Cilk Plus. When we analyze the cost of an algorithm

More information

Online Computer Science Degree Programs. Bachelor s and Associate s Degree Programs for Computer Science

Online Computer Science Degree Programs. Bachelor s and Associate s Degree Programs for Computer Science Online Computer Science Degree Programs EDIT Online computer science degree programs are typically offered as blended programs, due to the internship requirements for this field. Blended programs will

More information

Static Program Transformations for Efficient Software Model Checking

Static Program Transformations for Efficient Software Model Checking Static Program Transformations for Efficient Software Model Checking Shobha Vasudevan Jacob Abraham The University of Texas at Austin Dependable Systems Large and complex systems Software faults are major

More information

Machine Learning Department, School of Computer Science, Carnegie Mellon University, PA

Machine Learning Department, School of Computer Science, Carnegie Mellon University, PA Pengtao Xie Carnegie Mellon University Machine Learning Department School of Computer Science 5000 Forbes Ave Pittsburgh, PA 15213 Tel: (412) 916-9798 Email: [email protected] Web: http://www.cs.cmu.edu/

More information

Masters in Computing and Information Technology

Masters in Computing and Information Technology Masters in Computing and Information Technology Programme Requirements Taught Element, and PG Diploma in Computing and Information Technology: 120 credits: IS5101 CS5001 or CS5002 CS5003 up to 30 credits

More information

ANUJA GUPTA Assistant Professor [email protected] Tel: (856) 225 6227 July 2014

ANUJA GUPTA Assistant Professor Anuja.Gupta@rutgers.edu Tel: (856) 225 6227 July 2014 ANUJA GUPTA Assistant Professor [email protected] Tel: (856) 225 6227 July 2014 EDUCATION University of Pennsylvania, The Wharton School, Philadelphia, PA PhD in Management, May 2010 Master of Science,

More information

ONLINE EXERCISE SYSTEM A Web-Based Tool for Administration and Automatic Correction of Exercises

ONLINE EXERCISE SYSTEM A Web-Based Tool for Administration and Automatic Correction of Exercises ONLINE EXERCISE SYSTEM A Web-Based Tool for Administration and Automatic Correction of Exercises Daniel Baudisch, Manuel Gesell and Klaus Schneider Embedded Systems Group, University of Kaiserslautern,

More information

Masters in Networks and Distributed Systems

Masters in Networks and Distributed Systems Masters in Networks and Distributed Systems Programme Requirements Taught Element, and PG Diploma in Networks and Distributed Systems: 120 credits: IS5101 CS5001 CS5021 CS4103 or CS5023 in total, up to

More information

CURRICULUM VITAE Herbert L. Dershem

CURRICULUM VITAE Herbert L. Dershem CURRICULUM VITAE Visiting Professor of Computer Science United States Air Force Academy USAF Academy, CO 80840 Phone: (719) 472-3590 Education: B.S. University of Dayton, 1965 M.S. (Computer Science) Purdue

More information

The Course. http://www.cse.unsw.edu.au/~cs3153/

The Course. http://www.cse.unsw.edu.au/~cs3153/ The Course http://www.cse.unsw.edu.au/~cs3153/ Lecturers Dr Peter Höfner NICTA L5 building Prof Rob van Glabbeek NICTA L5 building Dr Ralf Huuck NICTA ATP building 2 Plan/Schedule (1) Where and When Tuesday,

More information

Bob Boothe. Education. Research Interests. Teaching Experience

Bob Boothe. Education. Research Interests. Teaching Experience Bob Boothe Computer Science Dept. University of Southern Maine 96 Falmouth St. P.O. Box 9300 Portland, ME 04103--9300 (207) 780-4789 email: [email protected] 54 Cottage Park Rd. Portland, ME 04103 (207)

More information

EXECUTIVE MBA INTERNATIONAL PROGRAM PART TIME IN COOPERATION WITH ESCP-EAP EUROPEAN SCHOOL OF MANAGEMENT

EXECUTIVE MBA INTERNATIONAL PROGRAM PART TIME IN COOPERATION WITH ESCP-EAP EUROPEAN SCHOOL OF MANAGEMENT EXECUTIVE MBA INTERNATIONAL PROGRAM PART TIME IN COOPERATION WITH ESCP-EAP EUROPEAN SCHOOL OF MANAGEMENT WELCOME TO THE EXECUTIVE MBA PROGRAM «The vision of BI Norwegian School of Management is to be a

More information

Strategic Plan 2012 2020

Strategic Plan 2012 2020 Department of Economics College of Arts and Sciences Texas Tech University Strategic Plan 2012 2020 Mission The Department of Economics is dedicated to excellence in teaching, research, and service. The

More information

Careers in Biostatistics and Clinical SAS Programming An Overview for the Uninitiated Justina M. Flavin, Independent Consultant, San Diego, CA

Careers in Biostatistics and Clinical SAS Programming An Overview for the Uninitiated Justina M. Flavin, Independent Consultant, San Diego, CA PharmaSUG 2014 Paper CP07 Careers in Biostatistics and Clinical SAS Programming An Overview for the Uninitiated Justina M. Flavin, Independent Consultant, San Diego, CA ABSTRACT In the biopharmaceutical

More information

Conceptual Framework for the Master of Arts in Teaching at Earlham College:

Conceptual Framework for the Master of Arts in Teaching at Earlham College: Conceptual Framework for the Master of Arts in Teaching at Earlham College: Awakening the Teacher Within It is worth acknowledging, in all humility, that, though there are many great, beautiful, noble

More information

THE RTOS AS THE ENGINE POWERING THE INTERNET OF THINGS

THE RTOS AS THE ENGINE POWERING THE INTERNET OF THINGS THE RTOS AS THE ENGINE POWERING THE INTERNET OF THINGS By Bill Graham and Michael Weinstein INNOVATORS START HERE. EXECUTIVE SUMMARY Driven by the convergence of cloud technology, rapidly growing data

More information

Teaching and Learning Strategy for UCL Computer Science. Stage 1: the narrative or vision

Teaching and Learning Strategy for UCL Computer Science. Stage 1: the narrative or vision LONDON S GLOBAL UNIVERSITY Teaching and Learning Strategy for UCL Computer Science Stage 1: the narrative or vision What does the department stand for? What does it want to achieve? What is it going to

More information

MASTER OF SCIENCE IN HEALTH SCIENCE EDUCATION PROGRAM INFORMATION & ADMISSION REQUIRMENTS

MASTER OF SCIENCE IN HEALTH SCIENCE EDUCATION PROGRAM INFORMATION & ADMISSION REQUIRMENTS MASTER OF SCIENCE IN HEALTH SCIENCE EDUCATION PROGRAM INFORMATION & ADMISSION REQUIRMENTS MScHSEd Program Information ; 2 PROGRAM DECSCRIPTION The Master of Science in Health Science Education Program

More information

Virtualization of the MS Exchange Server Environment

Virtualization of the MS Exchange Server Environment MS Exchange Server Acceleration Maximizing Users in a Virtualized Environment with Flash-Powered Consolidation Allon Cohen, PhD OCZ Technology Group Introduction Microsoft (MS) Exchange Server is one of

More information

The Society of Architectural Historians Guidelines for the Promotion and Tenure of Architectural Historians

The Society of Architectural Historians Guidelines for the Promotion and Tenure of Architectural Historians The Society of Architectural Historians Guidelines for the Promotion and Tenure of Architectural Historians NOTE: The language for this document was adapted from the College Art Association s Standards

More information

Static Analysis of Dynamic Properties - Automatic Program Verification to Prove the Absence of Dynamic Runtime Errors

Static Analysis of Dynamic Properties - Automatic Program Verification to Prove the Absence of Dynamic Runtime Errors Static Analysis of Dynamic Properties - Automatic Program Verification to Prove the Absence of Dynamic Runtime Errors Klaus Wissing PolySpace Technologies GmbH Argelsrieder Feld 22 82234 Wessling-Oberpfaffenhofen

More information

Curriculum Vitae. Education Nanjing University, International Business School, Nanjing, P. R.China Bachelor of Arts in Economics, July 1994

Curriculum Vitae. Education Nanjing University, International Business School, Nanjing, P. R.China Bachelor of Arts in Economics, July 1994 Curriculum Vitae Zhining Hu Office Contact Information Department of Economics Gettysburg College Gettysburg, PA 17325 Office phone number: 717-337-6676 E-mail address: [email protected] Education Nanjing

More information

CURRICULUM VITAE. Leigh MacDonald. Phone: 519-661-2111 ext. 85224 Fax: 519-661-3666 E-mail: [email protected]

CURRICULUM VITAE. Leigh MacDonald. Phone: 519-661-2111 ext. 85224 Fax: 519-661-3666 E-mail: lmacdon5@uwo.ca CURRICULUM VITAE October 2015 Leigh MacDonald ADDRESS: Department of Economics University of Western Ontario London, Ontario N6A 5C2 Phone: 519-661-2111 ext. 85224 Fax: 519-661-3666 E-mail: [email protected]

More information

Regression Verification: Status Report

Regression Verification: Status Report Regression Verification: Status Report Presentation by Dennis Felsing within the Projektgruppe Formale Methoden der Softwareentwicklung 2013-12-11 1/22 Introduction How to prevent regressions in software

More information

University of Dayton Department of Computer Science Undergraduate Programs Assessment Plan DRAFT September 14, 2011

University of Dayton Department of Computer Science Undergraduate Programs Assessment Plan DRAFT September 14, 2011 University of Dayton Department of Computer Science Undergraduate Programs Assessment Plan DRAFT September 14, 2011 Department Mission The Department of Computer Science in the College of Arts and Sciences

More information

REQUIREMENTS FOR THE MASTER THESIS IN INNOVATION AND TECHNOLOGY MANAGEMENT PROGRAM

REQUIREMENTS FOR THE MASTER THESIS IN INNOVATION AND TECHNOLOGY MANAGEMENT PROGRAM APPROVED BY Protocol No. 18-02-2016 Of 18 February 2016 of the Studies Commission meeting REQUIREMENTS FOR THE MASTER THESIS IN INNOVATION AND TECHNOLOGY MANAGEMENT PROGRAM Vilnius 2016-2017 1 P a g e

More information

Code Review Best Practices. With Adam Kolawa, Ph.D.

Code Review Best Practices. With Adam Kolawa, Ph.D. Code Review Best Practices With Adam Kolawa, Ph.D. This paper is part of a series of interviews in which Adam Kolawa Parasoft CEO and Automated Defect Prevention: Best Practices in Software Management

More information

EMC Technology Trends

EMC Technology Trends EMC Technology Trends Mikhail Salamatov University Relations Coordinator EMC Russia CoE 1 Agenda EMC Overview Overview of Technology Trends Cloud transforms IT Big Data Transforms Business Security Needs

More information

Applications of formal verification for secure Cloud environments at CEA LIST

Applications of formal verification for secure Cloud environments at CEA LIST Applications of formal verification for secure Cloud environments at CEA LIST Nikolai Kosmatov joint work with A.Blanchard, F.Bobot, M.Lemerre,... SEC2, Lille, June 30 th, 2015 N. Kosmatov (CEA LIST) Formal

More information

INNOVATION WITH IMPACT. Creating a Culture for Scholarly and Systematic Innovation in Engineering Education

INNOVATION WITH IMPACT. Creating a Culture for Scholarly and Systematic Innovation in Engineering Education INNOVATION WITH IMPACT Creating a Culture for Scholarly and Systematic Innovation in Engineering Education june 1, 2012 All Rights Reserved Copyright 2012 by American Society for Engineering Education

More information

Traceability Patterns: An Approach to Requirement-Component Traceability in Agile Software Development

Traceability Patterns: An Approach to Requirement-Component Traceability in Agile Software Development Traceability Patterns: An Approach to Requirement-Component Traceability in Agile Software Development ARBI GHAZARIAN University of Toronto Department of Computer Science 10 King s College Road, Toronto,

More information

FPGA area allocation for parallel C applications

FPGA area allocation for parallel C applications 1 FPGA area allocation for parallel C applications Vlad-Mihai Sima, Elena Moscu Panainte, Koen Bertels Computer Engineering Faculty of Electrical Engineering, Mathematics and Computer Science Delft University

More information