fotografieren, bloggen, live-bloggen und twittern unter der Voraussetzung, dass Sie ihn dem Autor zuordnen und die Rechte und Lizenzen der Teile respektieren. basiert auf Vorlagen von @SMEasterbrook und @ethanwhite
“Best Practice” Norm Goals, expectations, … 1. Solution orientation (Also: “normative”, “prescriptive”) 2. Problem orientation (Also: “Inductive”) Paradigms (simplified) A A. Activity orientation B B. Artefact orientation Serves as Orientation Steer Assess/Benchmark RE reference model Adopt RE improvement principles
inconsistent evolution of clones in industrial telecom. SW. [Monden02]: higher revision number for files with clones in legacy SW. [Kim05]: substantial amount of coupled changes to code clones. [Li06], [SuChiu07] and [Aversano07], [Bakota07]: discovery of bugs through search for inconsistent clones or clone evolution analysis. Doubting harmfulness [Krinke07]: inconsistent clones hardly ever become consistent later. [Geiger06]: Failure to statistically verify impact of clones on change couplings [Lozano08]: Failure to statistically verify impact of clones on changeability.
cloned vs. non-cloned code) used to determine effect of cloning are inaccurate • Analyzed systems are too small or omit industrial software Our Study • Manual inspection of inconsistent clones by system developers No indirect measures of consequences of cloning • Both industrial and open source software analyzed • Quantitative data Deissenboeck, Juergens, Hummel, Wagner, ICSE, 2009
RQ2: Are inconsistent clones created unintentionally? |UIC| / |IC| RQ3: Can inconsistent clones be indicators for faults in real systems? |F| / |IC|, |F| / |UIC| Clone Groups C (exact and incons.) Inconsistent clone groups IC Unintentionally incons. Clone Groups UIC Faulty clone Groups F
candidate detection • Novel algorithm • Tailored to target program False positive removal • Manual inspection of all inconsistent and ¼ exact CCs • Performed by researchers Assessment of inconsistencies • All inconsistent clone groups inspected • Performed by developers Clone groups C (exact and incons.) Inconsistent clone groups IC Unintentionally inconsistent clone groups UIC Faulty clone groups F → CC → C, IC → UIC, F
400 employees Sysiphus: Open source collaboration environment for distributed SW development. Developed at TUM. 281 8 Java TUM Sysiphus 197 17 Cobol LV 1871 D 495 2 C# Munich Re C 454 4 C# Munich Re B 317 6 C# Munich Re A Size (kLoC) Age (years) Language Organization System
Beyond Copy & Paste, E. Juergens, F. Deissenboeck, B. Hummel, CSMR 2010 • Type-4 clone: functionally similar code fragment regarding I/O behaviour • Cannot be found with clone detection [1]
detection? • Recall required; infeasible to determine manually • Main limitation: random testing approach –no input or generated input does achieve sufficient code coverage • Notion of I/O similarity may not be suitable –e.g different data types or signatures • Further research required to quantify these problems
Systemkomponenten untereinander und mit der Umwelt. • Sicherheit ist eine emergente Eigenschaft die in dieser Interaktion entsteht. • Sicherheit wird durch eine Menge an Einschränkungen für das Verhalten der Systemkomponenten geregelt.
res-‐5“ by Matthew (WMF) (http://commons.wikimedia.org/wiki/ File:Coding_Shots_Annual_Plan_high_res-‐5.jpg) „Complexity“ by photo fiddler (https://flic.kr/p/aEvEx1) „MAN FE 360A dump truck in Munich“ (http://commons.wikimedia.org/wiki/ File:MAN_FE_360A_dump_truck.JPG) „Simple-‐kanban-‐board“ by Jeff.lasovski (http://commons.wikimedia.org/wiki/File:Simple-‐kanban-‐board-‐.jpg)