January 9, To Whom It May Concern:
|
|
|
- Darlene McKinney
- 10 years ago
- Views:
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
: 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
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
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,
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
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
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
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]
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,
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
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.
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
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,
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]
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
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.
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
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
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
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
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:
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
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
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
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
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
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
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
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
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
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
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
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
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.
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
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.
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?
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
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)
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
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)
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.
!"#$%&'()"*"++%(*,%-")+.*(#%/"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
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
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
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
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
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.
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
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
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
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/
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
ANUJA GUPTA Assistant Professor [email protected] 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,
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,
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
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
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,
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)
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
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
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
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
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
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
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
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
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
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
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
CURRICULUM VITAE. Leigh MacDonald. Phone: 519-661-2111 ext. 85224 Fax: 519-661-3666 E-mail: [email protected]
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]
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
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
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
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
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
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
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
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,
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
