Archive - 2009

From CS Colloquium

Jump to: navigation, search

Contents

Friday, 24 Apr @ 1:30 pm, COMP 308: The Computational study of Nonverbal Social Communication

Louis-Philippe Morency, Institute for Creative Technologies, University of Southern California.

The goal of this emerging research field is to recognize, model and predict human nonverbal behavior in the context of interaction with virtual humans, robots and other human participants. At the core of this research field is the need for new computational models of human interaction emphasizing the multi-modal, multi-participant and multi-behavior aspects of human behavior. This multi-disciplinary research topic overlaps the fields of multi-modal interaction, social psychology, computer vision, machine learning and artificial intelligence, and has many applications in areas as diverse as medicine, robotics and education.

During my talk, I will focus on two novel approaches to achieve efficient and robust nonverbal behavior modeling and recognition: (1) the use of latent-state models in discriminative sequence classification (Latent-Dynamic CRF) to capture the influence of unobservable factors on nonverbal behavior and (2) the integration of contextual information (specifically dialogue context) to improve nonverbal prediction and recognition.


Host: Nigel Ward.


Friday, 17 Apr @ 12:30 pm, UGLC 106, Ann Zimmerman, Cyber-Share Distinguished Lecturer

Title: Data Sharing and Reuse in the Age of Cyber-Enabled Research and Discovery

Sharing data and exchanging knowledge about data are primary drivers of many visions of cyber enabled research and education. Yet, efforts to share and reuse data face great challenges.

  • Why is it hard to share and reuse data?
  • Why is data sharing more common in some disciplines than others?
  • Which data are most important to curate and preserve?

Answers to these questions have implications for education and training, multidisciplinary collaboration, and policy and decision-making for cyber-enabled discovery.

Host: Rodrigo Romero. Contact him if you would like to subscribe to a video web-cast of this presentation.

Friday, 17 Apr @ 1:30 pm, COMP 308, Eric Freudenthal, Programming, Physics, and Fun: An Engaging Introduction to Computer Science and Engineering Studies

Consider the misguided things teenagers do when they first consider the possibility of dating. They focus on smooth 'pickup' lines and acting 'cool' rather than earnestly seeking mutual interests. In response to recent enrollment drops in computer science (CS) programs, advocates are at risk of following a similar path: Courses have been developing engaging courses that hide CS's relationship to mathematical concepts. Some are creating attractive introductory 'computer' courses that focus on the social component of interface design and ignore programming, algorithms, and data organization altogether. Although these courses are engaging and teach important skills, they do not strengthen skills in mathematics --- which are crucial for success in computer science programs, and in other science-math-engineering-technology (STEM) careers. Furthermore, students are perceptive, and like Hansel and Gretel who saw the oven and recognized the witch's intentions, they can read degree plans and will recognize that intimidating math and science courses are in their future.

Calculus and classical physics are layered upon each other and understanding is communicated through the composition of complex concepts. Due to this dense layering of abstractions, the cognitive distance between concrete experience and coursework is large. Rather than treating logic and mathematics as a liability that must be hidden from potential suitors, we seize the opportunity to use introductory programming as a vehicle to present mathematics and physical laws from an intuitive and engaging perspective that appears to strengthen interest in, and understanding of technical content.

Our freshman course leverages computer programming's accessibility to engage students in the construction of simple time-based simulators that expose underlying principles and create concrete and easily understood examples that mimic and explain familiar phenomena. Thus, by using computation to 'concretize' mathematical abstraction, we expose computation's "best side," and by doing so, hope to creatively engage and retain entering college students with the potential to enjoy creative and productive careers in computer science and other STEM areas.


Friday, 10 Apr @ 1:30 pm, COMP 308, Andrew Neal, Digital Forensics Primer

The pervasiveness of technology in all aspects of modern life has made it unlikely that we can move through a single day without leaving a trail of digital breadcrumbs. At the same time, popular TV shows and books have made terms such as CSI, forensics and computer evidence commonplace. Somewhere between the theoretically possible, the 45 minute plot, and practicalities of time and budget lies the reality of digital forensics.

This presentation will attempt to outline some of the basic concepts, methods, tools and trends in digital forensics. We will discuss formal and informal digital forensics, the acquisition and analysis cycle, and some of the general hardware and software used in the process. Through examples real and imaginary we will look at the variety of digital forensics engagements. Finally, we will examine some of the legal, licensing and societal issues surrounding the field, as well as some possible future developments.

Host: Steve Roach

Friday, 3 Apr @ 1:30 pm, COMP 308, Complexity Beyond NP-Hardness: Papadimitriou's New Idea and Its Relation to Complexity of Games

CS Colloquium

Dr. Vladik Kreinovich, UTEP Computer Science

Streaming video on youtube.


Everyone has probably heard about NP-hardness and NP-completeness: natural description of when computational problems are difficult to solve. There are some details related to this notion that only researchers in theoretical computer science know: e.g., that originally, there were two different versions of NP-hardness: the currently prevailing Cook-Karp's (prevailing) complexity of checking whether a solution exists vs. the original Levin's complexity of actually producing the solution. For most practical problems, the different between these two versions is academic and miniscule. However, recently, a new class of problem emerged in which this different is very important: difficult problems which always have a solution. Since these problems always have a solution, the complexity of checking the solution's existence is trivial -- but actually producing this solution is hard. One such problem is finding the Nash equilibrium of a game. Nash, the Nobel prize winner made famous by the Beautiful Mind movie, proved that, under some reasonable conditions, such solutions always exist. Recently, a paper co-authored by Christos Papadimitriou, one of the leaders of the computational complexity community, has shown that this problem is indeed difficult (in some formal sense). This result was highlighted in the latest (February 2009) issue of the Communications of the ACM.

This is an important new development: just like NP-hardness became a must to prove for engineers and scientists in practical problems in which a solution does not always exist, the new notion describes the complexity of problems for which solutions always exist but are hard to find.

In this talk, we will briefly overview what is NP-hardness, what is Nash equilibrium, and in what sense computing Nash equilibrium is a hard problem. The talk is introductory and should be accessible to students, even those who are not familiar at all with the sophisticated notions of complexity theory.

Friday March 27 @ 1:30, Comp 308: Wireless Sensor Network-based Navigation for a Human-Aware Guidance Robot

CS Colloquium

Will Enriquez, Waseda University

While most mobile robots possess the ability to navigate to and from given locations, for a robot to truly perform guidance, human awareness is also needed. Our guidance robot system possesses both, using a wireless sensor network for navigation and a vision-based tracking system for human awareness. We use the network to create a virtual directional field for the robot. As the network is ad-hoc and scalable, it is ideal for quick installation in existing environments.

The vision system is used to estimate the relative direction and distance from the robot to the following human. Using these values, the system ensures that the human does not wander away from the robot during guidance. We setup a simulated hallway environment in order to perform an experiment to test the efficacy of our system in a real world application. The robot was able to successfully navigate to the goal and chase the human to reestablish guidance if the human wandered. These abilities enable the robot to fulfill the two requirements for performing true guidance.

Will is a UTEP alumnus (BS in CS, 2005). The talk will be a 20 minute version of a presentation at ROBIO 2008 with discussion afterwards.

Hosts: Nigel Ward and David Novick

4:30PM in A324: Electrical Engineering Faculty Candidate Presentations

10 March: Xubin He
11 March: Tarek Taha
23 March: Juan Colmenares

Friday March 6: Dr. Fulvio Risso, Comp308, Safe and Efficient Packet Filtering using Finite State Automata

Video recording: http://www.vimeo.com/4135130

This seminar will present a set of preliminary results of an early work that models packet filtering programs through a Finite-State Automata.

The presented FSA-based packet filtering technique focuses on safety by ensuring program termination and bounds checking without the need for any additional middleware. In other words, safety is guaranteed by construction and no virtual machines are required for safe filtering execution.

This technique enables the generation of a large class of stateless filters that are able to process many common protocol formats and complex protocol encapsulation relationships, extracted from a NetPDL protocol database. Under the simplified computational model employed filter composition can performed simply yet efficiently, enabling optimizations that traditionally require extensive data-flow analysis and complex algorithms.

Experimental results show that FSA-based filters perform at the same level as other filters compiled with modern JIT approaches and that the impact of run-time safety checks is extremely low.

Bio: Fulvio Risso (born in 1971) is an Assistant Professor at the Department of Control and Computer Engineering of Politecnico di Torino, Italy. He earned his Ph.D. in Computer and System Engineering from Politecnico di Torino in 2000 with a dissertation on Quality of Service on Packet-Switched Networks. He is author of several papers on Quality of Service, Packet Processing, Network Monitoring and IPv6. Present research activity focuses on efficient packet processing, network analysis and network monitoring. Dr. Risso started several software project including WinPcap, the de-facto standard library for network analysis tools under the Windows platform, Analyzer, a well-known network sniffer, and NetBee, a new packet processing library that includes an innovative hardware abstraction (the NetVM) and protocol description language (NetPDL).

Contact Eric Freudenthal for more information.

Eunice Santos, Thursday, Feb 26, CS Faculty Candidate

Research Presentation, 10:30, CS 221, Computational Socio-Cultural Modeling

Understanding and analyzing how human beings respond, adapt, and react is a major scientific endeavor. Human beings are inherently complex and how we behave and interact is not easily modeled or quantified. At the same time, real-world decisions are made based on supposed expectations of human behavior.

So much of classic computational modeling has focused on exploring physical and biological phenomena which are based on scientific theory. Whereas, in human modeling, socio-cultural factors are a critical component and not readily expressed in mathematical terms. As such, the realm of socio-cultural modeling creates a need to understand how or when to leverage the classical approaches coupled with the need to incorporate such socio-cultural research concepts. Success of the work can only be accomplished through true interdisciplinary and cross-disciplinary research spanning multiple fields including computer science, engineering, mathematics, and the social sciences.

In this talk, we discuss the way forward for effective and efficient computational socio-cultural modeling. I will present new work in socio-cultural representation, the capability to infuse such factors into social networks analysis, and new techniques for efficient real-time analysis of human network constructs.

All are welcome to attend.

Presentation to Students, 2:45PM, CS 221,

We value student input in this process. To that end, we asked the candidate to prepare a presentation designed to engage your interest. There will be no faculty members at the presentation; it is important to have student attendance. You can provide feedback afterwards. Please pay particular attention to their ability to: motivate your interest, keep your attention, explain complex ideas clearly and logically, answer questions, and understand/correct student misconceptions There will be an opportunity for the candidate to ask questions to students.

Only students may attend this presentation.

27 Feb, CS Participation in the Sun Conference

The Sun Conference web site: http://sunconference.utep.edu/home

Program:

 8:00                   On-site registration and breakfast buffet in TomasRivera Conference Center,UTEP Union.
 8:30-8:35           Welcome: Harry Meeuwsen, UTEP Associate Provost and Director CETaL
 8:35-8:45           Opening remarks: Dr. Diana Natalicio, UTEP President
 8:45-9:45           Keynote address by Dr. Claire Katz, TX A&M University.
 'The essence of education is natality': Philosophy, Practice, and the Politics of Education.'
 9:45-10:00        Coffee break
10:00-10:50       Round table discussions, Tomas Rivera Conference Center
10:50-11:00       Change to breakout rooms
11:00-12:00       Podium Presentations Round 1 (Nine presentation in 3 rooms)
12:00-1:00         Lunch 
1:00-2:00           Podium Presentations Round 2 (Seven presentations in 3 rooms)
2:00-2:15           Change to Tomas Rivera
2:15-4:15           Plenary workshop by Dr. Claire Katz; Tomas Rivera Center.
'Taking another look at the Book of Genesis: Philosophy, Pedagogy, and the Hebrew Bible.'
4:15-4:30          Closing Remarks
5:00                  Dinner conversation on philosophy of education with Dr. Claire Katz
                       (dinner costs are not covered by the conference)

11AM Wiggins Room , Programming as a Window to Mathematical Analysis
  • Eric Freudenthal, UTEP Computer Science; efreudenthal@utep.edu
  • Ann Gates, UTEP Computer Science; agates@utep.edu
  • Mary Kay Roy, UTEP Computer Science; mkroy@utep.edu
  • Alexandria Ogrey, UTEP Computer Science; anogrey@utep.edu

The transfer of mathematical skills to the analysis of evolving processes is notoriously problematic for STEM academic programs. Our investigation of an introductory computational curriculum designed for students planning to major in Computer Science or other Engineering disciplines indicates that modeling such processes as simple imperative programs facilitates the transfer of this understanding.

We integrated an introductory course on media computation into a required freshman critical inquiry seminar that includes career guidance modules informally named “CS-0.” Most of entering students had no prior programming experience. The inclusion of CS content greatly increases the relevance of the course’s career-guidance component. Furthermore, we hypothesize that this early engagement in programming will decrease attrition among lower division engineering students. Deeply engaging these students turned out to be an elusive goal, as we discovered that they are more interested in academic relevance and understanding how things work than the creation of artistic works through the manipulation of multimedia.

As a result, we shifted focus to the application of techniques for manipulating multimedia to the simulation and analysis of dynamic systems. This shift required modification of the programming framework provided to students. For example, rather than using abstract iterators that hide the process of enumerating every pixel at each row and column, we now expose students to explicit row-column addressing and the use of nested “for loops.” Since progress is graphically displayed, CS-0 students quickly identify misconceptions and gain insights regarding evaluation order and iteration stride -- more easily than calculus-ready students attending our conventional first-semester major's course.

The early exposure to row-column addressing also enables students to apply these concepts to the plotting of mathematical functions. First, linear functions are examined (which they use to draw lines), and then quadratics (which expose curves as functions whose slope varies in an understandable manner). This permits exploration and in-class demonstrations of physical phenomena that students frequently find confusing, such as ballistic motion, exponential decay and resonant oscillation. For example, a fully understandable simulation of a weight-on-a-spring’s harmonic oscillation that generates a sinusoidal plot of the same frequency without reference to unfamiliar trigonometric functions requires only thirteen lines of code.

This exercise also exposes students to the otherwise unintuitive notion that a sinusoid’s rate-of-change is itself sinusoidal. During this first semester in which mathematically intensive projects were been integrated into CS-0, we observed dramatic knowledge-transfer with a concurrently attended pre-calculus class: Students were confused initially by the mathematics required to translate parabolic functions. However, once they independently recognized the relevance of their pre-calculus work, notebooks appeared and students were excitedly translating (and even rotating) parabolas in a dramatic fashion. Informal exit interviews indicated that many students found the process of programming enhanced their understanding of mathematical concepts. Our team is presently examining how this transfer can be instrumented and the applicability of this approach to other problematic mathematical modeling within STEM.

Lunch Roundtable #3 (noon), Eliciting integrative understandings in STEM

Eric Freudenthal & Peter Golding

Success in STEM disciplines requires integrated understandings of physical phenomenon and mathematical abstractions that model them. Unfortunately, students frequently compartmentalize their understandings of mathematics and disciplinary practice in a manner that impedes these necessary reflective understandings. We are engaged in the development of complementary approaches for introductory courses that address this challenge by providing concrete motivating exercises designed to engage students in the discovery of mathematics’ utility in understanding processes that underlie complex phenomena.

The purpose of this roundtable conversation is to obtain feedback from others and to potentially build a network of allies who will refine and extend the practices we are advocating and contribute to the design of suitable approaches to their evaluation.Below is a summary of the complementary approaches of Drs. Freudenthal and Golding’s projects.

Dr. Freudenthal's research in STEM-education includes an investigation of programming’s potential contribution as a simplifying model for teaching the evolution of dynamic systems. This orientation is motivated by several complementary observations:(1) The mathematical abstractions underlying STEM disciplines are generally sufficiently simple to be directly expressed by short iterative computer programs. (2) These programs can be easily comprehended, manipulated, and extended by students in a manner that (3) dramatically exposes the effects of mis-conceptions early in each individual students’ learning process. (4) Furthermore, as students’ understandings deepen, advanced mathematical models can replace exhaustive (iterative) modeling, (5)providing concrete evidence of mathematics’ relevance and can elicit the development of a (6) reinforced network of understanding between theory and practice. These observations beg the question of whether STEM education in a variety of disciplines(including mathematics) can be substantially enhanced through the early introduction of programming as a foundational skill.

Dr. Golding’s education research also addresses student’s shallow understandings of the relationship between theory and practice.Traditional STEM programs engage students in the unmotivated study of mathematics prior to exposure to discipline-specific problems for which these deep understandings of math will be relevant. This lack of motivating context leaves students unable to determine the relevance of their mathematics study and encourages the compartmentalization of mathematics. Dr. Golding’s project makes the connection between math and engineering concrete by exposing entering freshmen to pragmatically oriented problems and already derived mathematical tools useful to solving them. It is anticipated that this approach will provide students sufficient context to understand the relevance of their extended studiesof mathematics and to facilitate a holistic understanding of their discipline’s mathematical underpinnings. Our expectation is that these approaches are complementary and ought to be integrated throughout STEM curricula that in manner that provides students an expanding and generalizable network of reflective understandings.

We are interested in broadening our alliance and encourage others will join our confederated efforts to bridge this gap between theory, practice, and motivation to learn.



Friday Feb., 20: Dr. Martine Ceberio

Math Colloquium, 3pm, Bell Hall 143, NUMERIC-SYMBOLIC ALGORITHMS FOR CONTINUOUS CONSTRAINT SOLVING

Continuous constraints are constraints whose variables are defined over continuous domains. This is the only notable difference between discrete and continuous constraints. However, this small difference results in the need for very different solving techniques. Indeed, when enumeration (and fancier, more efficient variations of it) is an option with discrete constraints, it is no longer possible when variables can take an infinite amount of values.

In this talk, I present several approaches to address this problem, and I focus on the approaches that use interval computations to model the continuity of the variables' domains. I also introduce the problem of computations performed by computers and their limitations to floating-point numbers. All of these limitations, along with these of interval computations (dependency of the computations), call for the combination of numeric and symbolic algorithms to solve continuous constraints.

I point out that the numeric part of the solving algorithms is indispensable, since the problems at hand are numeric in essence. The symbolic part of these same solving algorithms is essential if we seek efficiency. I show several attempts to speed up the constraint solving process using symbolic algorithms. I conclude by pointing out future research directions, among which the use of a different interval arithmetic (namely, circular arithmetic) that proved to be efficient for interval computations, and whose use should be further investigated in the case of constraint solving algorithms. Besides, tensors also appear to constitute an interesting alternative approach for they provide a nice framework to keep track of variables' dependencies between constraints and are expected to speed up the domain narrowing process.


Scott Tilley, CS Faculty Candidate

Research Presentation, Monday, Feb 16, 9:30, CS 221, Towards a Research Agenda for SOA Testing

Service-Oriented Architecture (SOA) is a way of designing, developing, deploying, and managing enterprise systems where business needs and technical solutions are closely aligned. SOA offers a number of potential benefits, such as cost-efficiency and agility.

However, adopting SOA is not without considerable challenges. For example, a common way to implement a SOA-based system is with Web services, but the standards that define Web services are evolving rapidly and many of the Web services tools are still somewhat immature. There is also the question of how to leverage existing legacy assets within a SOA context. Perhaps most importantly, there are serious challenges related to the testing of SOA-based systems that must be addressed before the SOA paradigm will enjoy broad-based success.

A common misconception for testing SOA-based systems is that it is little different than testing non-SOA systems. Therefore, when migrating existing systems to SOA or creating new SOA-based systems, project managers often pay much less attention to the testing process of these systems. However, the singular nature of SOA-based applications may call for testing strategies and supporting toolsets that facilitate different approaches to testing. At the moment there are no evaluation criteria in place to assess these tools and ascertain if they provide the facilities that are needed to fully test SOA-based applications.

This talk outlines preliminary work towards a research agenda for testing SOA-based systems, focusing on three main areas: SOA governance, underlying technologies (such as Web services), and applying traditional testing strategies to SOA-based systems. The overall goal of this effort is to create a first draft of a broad research agenda for SOA testing. This research agenda is a “deep dive” expansion of the work from Carnegie Mellon University’s Software Engineering Institute on a general research agenda for SOA into the testing domain.


All are welcome to attend.

Presentation to Students, 2:45PM, CS 221, Program Redocumentation for Distributed Systems: Lessons Learned and Future Challenges

We value student input in this process. To that end, we asked the candidate to prepare a presentation designed to engage your interest. There will be no faculty members at the presentation; it is important to have student attendance. You can provide feedback afterwards. Please pay particular attention to his ability to: motivate your interest keep your attention explain complex ideas clearly and logically answer questions and understand/correct student misconceptions There will be an opportunity for the candidate to ask questions to students.

Only students may attend this presentation.

Distributed systems are notoriously difficult to engineer according to prescribed quality standards. Gaining a sufficient understanding of a distributed system in order to perform disciplined maintenance is equally challenging. Complicating factors include the system’s inherent complexity, the heterogeneous nature of its components, and the extensive use of a networked infrastructure.

Program redocumentation is one approach to aiding system understanding in order to support maintenance and evolution tasks. It relies on technologies such as reverse engineering to create additional information about the subject system. The new information is then used by the engineers to help them make informed decisions regarding potential changes to the application.

This talk presents an overview of some of the coming research challenges in redocumenting distributed systems in the next few years. These challenges have been identified based on experience gained and lessons learned from over 15 years of research into program redocumentation via reverse engineering The challenges include in-the-small issues such as dual-core architectures for embedded systems, in-the-large issues such as the use of Web services as a control integration mechanism, and crosscutting issues such as the increasing use of aspects to manage concerns like security. The impact of these challenges on software development methodologies for distributed systems is also discussed.

Thursday, Jan 22: Dr. Fernando Naveda, CS Faculty Candidate

Research Presentation, 10:30AM, CS 221, Teaching and Research: Building a Top Research Organization

For the last 15 years I have been a part of a university on the move that values professional undergraduate teaching with a strong cooperative education component that dates back to 1919. Though a stronger emphasis on scholarship has triggered new interest in advanced degree programs and research, it was over a primarily undergraduate education environment that I became involved in research activities well outside my main area of interest: “pure” software engineering. My involvement with projects ranges from processing infrared images taken with a telescope located in the South Pole, to specifying a grammar to transfer printing information from the designer’s desk to the printer’s bench, to quantizing design intents of documents based on their physical properties. The common denominator through all these activities has been significant personal time, modest funding and, more importantly, undergraduate students.

My participation in a variety of research projects working with undergraduate students, other faculty and corporate scientists, coupled with eight years as department chair, have situated me in a unique position to understand the issues involved in leading an academic team through the process of becoming a recognized research organization that preserves its teaching values. However, the transformation to an organization with a stronger research profile is no easy task; the academic leader must take into consideration the current state of the organization and, with collaboration from all stakeholders, develop a plausible roadmap.

In this talk I will give a brief overview of the projects in which I have worked over the years and then will link the experience I have gained as a teacher, a scholar, and an administrator, to the challenge of building a top research organization. I will share my thoughts on how a strategic plan can help the organization use its assets to reach its goals.

All are welcome to attend.

Presentation to Students, 2:45-3:45, CS 221, Designing Before Design

We value student input in this process. To that end, we asked Dr. Naveda to prepare a presentation designed to engage your interest. There will be no faculty members at the presentation; it is important to have student attendance. You can provide feedback afterwards. Please pay particular attention to his ability to: motivate your interest keep your attention explain complex ideas clearly and logically answer questions and understand/correct student misconceptions There will be an opportunity for the candidate to ask questions to students.


Synopsis: The software engineer is constantly challenged by non-trivial design decisions as she tries to strike a good balance between different attributes of a software system long before the system’s first line of code is even written. Many of these attributes can be studied while the software engineer is still thinking about the system at the conceptual level; that is, before the thought process leads her to more tangible system elements such as modules, objects, and classes.

Over the last 30 years, the software industry has experienced a shift in focus from programming-in-the-small to programming-in-the-large. The 1970s were characterized by attention to program-level details. Programming methodologies and languages were invented that captured our interest and understanding of software systems which, by today’s standards, would be considered fairly small.

During the 1980s and early 1990s our attention shifted from the concrete to the abstract and again, programming languages and methodologies were developed to capture that interest. It was so that object oriented (OO) methodologies and languages became fashionable. Although design patterns had been in use for many years and in contexts other than OO technology, it was object oriented technology what made it possible to capture their properties in a sufficiently concrete format so as to make them easier to communicate to and be digested by software professionals.

In the late 1990s the research community turned its attention to architectural styles. More abstract than design patterns, architectural styles can be used to document and analyze properties of software systems pretty early in the software development process, at a very high level of abstraction. Studying a software system’s architecture can help the designer understand and tradeoff qualitative system properties during a stage in the development process when it is still economically feasible find and fix fundamental design errors.

In this talk, we will discuss software architectural design as it relates to quality attributes. We will identify attributes that are discernible at the architectural stage as well as at later stages of the software development process.

Only students may attend this presentation.

Tuesday, Jan 20: Dr. David A. Dampier, CS Faculty Candidate

Research Presentation, 10:30AM, CS 221, Software Engineering for Computer Security and Digital Forensics

Abstract: Software engineering, computer security, and digital forensics are all applied computer science fields. This is to say that computer science is a theoretical discipline in which theoretical solutions to generalized problems are hypothesized, tested, and shown to provide potential solutions. Software engineering is an application based field of research. More specific problems are investigated, solutions are hypothesized, and applications are built using the theoretical solutions provided by computer science to solve the specific problem. Computer security and digital forensics are problem areas that can have either computer science or software engineering applied to them to provide solutions to the very specific problems that arise.

Digital forensics, in particular, is a field of study that has its roots in the user community. For many years, solutions to specific problems arising in digital forensics were developed by the investigators encountering the problem using whatever means they had at their disposal. This “bottom-up” approach to tool development led to the development of very specific tools that had to be reengineered every time an investigator had a new case. About eight years ago, an earnest effort was started in academia to research digital forensics tools from the top-down. An annual meeting of digital forensics researchers called the Digital Forensics Research Workshop (DFRWS) started and researchers began to develop generalized approaches to building tools for digital forensics investigation. The community is now much larger, and there are many annual meetings of researchers.

Much of the work in the beginning was directed at modeling the investigative process to try and standardize the way investigations proceeded and provide a process that generalized tools could be “plugged into”. Our approach has been directed at providing ways to model the evidence collected in an investigation, and to organize that evidence in a way that it can be assessed more efficiently and effectively. Two specific projects that we have undertaken in the evidence modeling area are using software engineering techniques to provide a framework for modeling evidence. The first approach used UML constructs, specifically domain models, to provide a case framework that would show what evidence still needed to be collected, and provide a way for that evidence to be organized for easier recall at trial months or years after the investigation. The result of that effort was a good organization method, but the learning curve left something to be desired since law enforcement investigators would be using the method. The second approach attempts to answer this concern by using concept maps that are much more intuitive and easy to understand. This talk will discuss these projects, as well as several other tool development projects that we have been working on in the digital forensics area.

All are welcome to attend.

Presentation to Students, 2:45-3:45, CS 221, Software Engineering, Computer Security and Digital Forensics Education

We value student input in this process. To that end, we asked Dr. Dampier to prepare a presentation designed to engage your interest. There will be no faculty members at the presentation; it is important to have student attendance. You can provide feedback afterwards. Please pay particular attention to his ability to:

  • motivate your interest
  • keep your attention
  • explain complex ideas clearly and logically
  • answer questions and understand/correct student misconceptions

There will be an opportunity for the candidate to ask questions to students.

Abstract: Computer science is a theoretical field of study that generally prepares students for employment in a number of different automation fields. A computer science graduate can do anything from programming to project management, and is generally prepared to learn most any field that is based on computer programming. Software engineering, computer security, and specifically digital forensics are applications of computer science techniques to solve specific problems. Software engineering is focused on providing customers software solutions to solve their automation needs. Computer security is directed at providing software users with assurance that their software will be able to withstand attacks and still function correctly. Digital forensics is about solving computer crimes and providing tools and techniques to deal with the ever-increasing size of digital media.

This talk will discuss these fields of education, with particular emphasis on discovery learning and the need to have hands-on practical education in the fields as opposed to only theoretical education. Methods that I have employed in my classes will be presented, along with motivations and experiences with their success.


Monday, Jan 12: Dr. Barrett Bryant, CS Faculty Candidate

Research Presentation, 10:30AM, CS 221, Grammar Inference Technology Applications in Software Engineering

Synopsis: There are many problems whose solutions take the form of patterns that may be expressed using grammars (e.g., speech recognition, text processing, genetic sequencing, programming language development, etc.). Construction of these grammars is usually carried out by computer scientists working with domain experts. Grammar inference (GI) is the process of learning a grammar from examples, either positive (i.e., the pattern should be recognized by the grammar) and/or negative (i.e., the pattern should not be recognized by the grammar). This talk will present the application of grammar inference to software engineering, including recovery of domain-specific language (DSL) specifications from example DSL programs and recovery of a meta model from instance models which have evolved independently of the original meta model.

Presentation to Students, 2:45-3:45, CS 221, Current and Future Directions in Programming Languages

Synopsis of presentation: High level programming languages may be implemented by compiling into machine code (e.g., C++), interpreting the program directly (e.g., Ruby), or compiling into virtual machine code which may then be further compiled into machine code or interpreted (e.g., Java).

Since most students will not actually get a job that requires them to implement high-level languages, why is this still important to know?

There are two reasons: 1) students will use high-level programming languages and to use them effectively, it is necessary to understand how they are implemented, and 2) designing domain-specific programming languages is becoming more commonplace in the workplace, from languages to design financial analysis tools for Wall Street to languages that control various automotive components. This talk will provide an overview of the techniques involved in programming language implementation, the language issues that influence which of the 3 approaches to implementation is used, and current and future trends in language design and implementation.