The Changing Landscape of Programming Technology Karl Lieberherr Northeastern University Friends of Switzerland Swiss connection • PhD from ETH Zurich: Pascal, Modula, Oberon (Wirth) • Sabbatical 2000
Download ReportTranscript The Changing Landscape of Programming Technology Karl Lieberherr Northeastern University Friends of Switzerland Swiss connection • PhD from ETH Zurich: Pascal, Modula, Oberon (Wirth) • Sabbatical 2000
The Changing Landscape of Programming Technology Karl Lieberherr Northeastern University Friends of Switzerland 1 Swiss connection • PhD from ETH Zurich: Pascal, Modula, Oberon (Wirth) • Sabbatical 2000 with UBS Zurich • Sabbatical 2006 with Novartis • Collaborations with ABB and MettlerToledo • One Swiss PhD • Yearly summer vacation in Switzerland Friends of Switzerland 2 How I came to Boston • 1983: GTE in Waltham, now Verizon • 1985: tenured full professor at Northeastern • I like it here! Friends of Switzerland 3 Goal • We want reliable and secure software. • No technical vulnerabilities. • Not enough: social vulnerabilities are also very important in the age of the web. Friends of Switzerland 4 Outline • Program Organization – Crosscutting Concerns – Law of Demeter • Programming Team Organization – Extreme Programming • Security: – Social Phishing – SAT solvers Friends of Switzerland 5 Software bugs • Excel 2007 multiplication bug: September 2007 – 850 * 77.1 should be 65535 but displays as 100000. Friends of Switzerland 6 Program Organization • cross-cutting concerns • the tyranny of the primary decomposition – organize software into modules • group functionality that lives in several modules Friends of Switzerland 7 Law of Demeter • Organization principle for objects – “talk only to your friends” – “each object talks only to a limited number of other objects” – avoids information overload for the programmer – from Northeastern • Leads to objects that are easier to change Friends of Switzerland 8 Extreme Programming • Planning around User Stories • Small Releases of Functionality • Simple Design – build what is asked for, no design for the future • Continuous testing Friends of Switzerland 9 Extreme Programming • Pair Programming • Collective Product (Code) Ownership – Design, Coding Standards • Continuous integration • On-site Customer Representative Friends of Switzerland 10 SAT Solvers • • • • a fundamental topic in computer science express your “wishes” computer satisfies as many as possible used for software and hardware verification • based on learning from mistakes (nonchronological backtracking) • can solve systems with over 100000 parameters (variables) Friends of Switzerland 11 Social Phishing • friendly email message tempts recipients to reveal more online than they otherwise would. • impersonating a trustworthy entity Friends of Switzerland 12 class project at Johns Hopkins • find publicly available information from social networks: MySpace, Facebook, LinkedIn. • how can a phisher exploit social network data? very easily and effectively • over four times as likely to become a victim if they are solicited by someone appearing to be a known acquaintance Friends of Switzerland 13 Observations • 77% females, 65% males • But trick males by sending them a spoofed message appearing to come from a female (68% if message from female versus 53% if from another male) • somewhat reassuringly: computer science students were the least vulnerable Friends of Switzerland 14 Observations: observed reactions after debriefing message • Anger – significant social cost to victims • Denial – we find it difficult to admit our own vulnerability: many successful phishing attacks go unreported Friends of Switzerland 15 Conclusions • Still a very exciting time in computer and information science. • Computer science students have excellent job prospects, despite outsourcing. Friends of Switzerland 16