1. Trang chủ
  2. » Giáo án - Bài giảng

Phương pháp nghiên cứu khoa học: research methods in computer science

15 14 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 15
Dung lượng 799,26 KB

Nội dung

Research Methods in CS • Research? • How? • Some examples Research - What is it? Explore!! Engineering Research = Explore and develop Scientific methodology - otherwise not research CuuDuongThanCong.com https://fb.com/tailieudientucntt Science and Engineering (vetenskap och teknik) • Science - new knowledge (understand the world) • Is Computer Science about understanding computers and computing? • Engineering - construction of (useful) products • Engineering Science - methods for construction (design) of products Is CS an independent discipline ? “CS has an intimate relationship with so many other subjects that it is hard to see it as a thing in itself” Minsky “CS differs from the known sciences so deeply that it has to be viewed as a new species among sciences” Hartmanis CuuDuongThanCong.com https://fb.com/tailieudientucntt Is Computer Science a good name? Like calling surgery “knife-science”, maybe algorithmics is a better name Dijkstra “Algorithmics” nce Scie Logic-based (Complexity theory, program semantics, concurrency) ) f alg al o n a (e.g Numerical analysis g eerin n i g En ng.) tw e f o s (e.g Building HardW Computer Literacy is not CS ! Datakunskap/Användning av datorer är inte datavetenskap • Computer Literacy – Spreadsheet pgming – Net surfing – word processing CuuDuongThanCong.com • Computer Science – Algorithms – Programming – Program analysis https://fb.com/tailieudientucntt Building SoftW Computer Science • A meta-science? – Methods and theories that are useful • for other areas of science • for society – cf Mathematics • Young Science! – Methods not well developed – Methods not generally known – Methods not always properly used Research Method • Ad hoc homebrew not enough • Must be based on and related to existing knowledge • Different approaches: – Deductive methods Positivistic (facts) – Inductive methods – Building models Simulation – Qualitative Methods - (Hermeneutics) – (Claes Wohlin) CuuDuongThanCong.com https://fb.com/tailieudientucntt “Science or Interpretation” • “Science” (naturvetenskaplig approach) – Theory – Derive a hypothesis (from theory) – Formulate experiment to test hypothesis – Perform experiment (test hypothesis) – Evaluate results => positive/negative evidence – If contradiction: modify theory “Science or Interpretation” • “Interpretation” (social sciences) – Perform investigation (collect data) – Develop model (theory) that explains – Integrated development of theory and data collection • Social scientists are explorers! • Scientists are “looking for oil”! CuuDuongThanCong.com https://fb.com/tailieudientucntt Deductive methods • Theoretic methodology: Def - Theorem - Proof • Theoretical Computer Science Inductive methods • Experimental methods: • Hypothesis • Experiment/Evaluation => +/- evidence • “Science” CuuDuongThanCong.com https://fb.com/tailieudientucntt Building Models; Simulation • Build a model • Validate that the model faithfully captures the relevant aspects of the modelled system • Perform simulation experiments • Generalize the results to the real system • • • • Qualitative (Hermeneutic) Methods Interpretation (social sciences) Observation Build model to explain (theory) Refine … Test…Discuss…Deeper understanding – “Hermeneutic circle” (hopefully converging;-) CuuDuongThanCong.com https://fb.com/tailieudientucntt Computer Science Research Approaches (Claes Wholin’s SE research not really covered) • Classification: Formal correctness proof for algorithm Applied Evaluation of the use of a specific algorithm Experiment Theory Complexity Theory Theory for Parallel Systems Study of the dynamics of internet traffic Basic Research Results • What is a result? – Knowledge!!! E.g negative results (publications) – algorithms and methods • Experimental results/evaluations – not always proper set-up (see what happened when we tested X) – exhaustive experiments and comparisons important – evaluation methodology (statistical methods) – reproducibility (often forgotten in CS) CuuDuongThanCong.com https://fb.com/tailieudientucntt Ett (varnande;-) exempel • Snilleblixten! – A new efficient hashing function for searching large image databases (internet => $$$$$$;-) – No problems with the patent: Let’s publish a paper! Title: Efficient hashing for large image databases Abstract: We’ve done it again Intro The alg (pseudocode) An example (it works!) Conclusions (it really works!) Some real examples (1) • Moldeklev, Gunningberg: “How a large ATM MTU causes deadlock in TCP data transfer” (IEEE/ACM Tr.on Netw 3(4) Aug 95) • Why and when a protocol stack gets the hiccups RPC send RPC socket buffers rec send TCP/IP 9148 bytes SunOS Sparc10 AAL5 9148 bytes socket buffers rec TCP/IP 9148 bytes SunOS Sparc10 AAL5 9148 bytes ATM 48 byte CuuDuongThanCong.com https://fb.com/tailieudientucntt “How a large ATM MTU causes deadlock in TCP data transfer” • Methodology: Traditional experimental science – Anomaly detected – Experiments to understand nature of anomaly – Formulation of hypothesis – Collection of evidence => rejection – Gained insights => New hypothesis – Experiments and study of protocol => validation – Generalisation (and suggestion of counter-measures) Some real examples (2) • Ermedahl, Hansson, Sjưdin: “Response-Time Guarantees in ATM Networks” (In Proc 18th IEEE RTSS, Dec.’97) • Presentation and evaluation of a method for end-to-end response-time analysis for ATM CuuDuongThanCong.com https://fb.com/tailieudientucntt Networking (example) Applying RT-scheduling to ATM ATM - telecom network dst src dst src dst src dst – For voice, video and multimedia z src “Off-the-shelf”-technology output queue – Interesting for both soft & hard RT z (Hard) Real-time admission control switching fabric z Two solutions: By telecom community: Bandwidth reservation (WFQ) By Real-Time community: Priority queueing Poor utilization (especially short dedlines) Fast admission control z z z Suited for dynamic systems z z z High utilization Expensive admission control Suited for static systems Hans Hansson:RT Schemaläggning: introduktion och ưversikt “Response-Time Guarantees in ATM Networks” • Methodology: “Exhaustive” evaluation of specific alg./method – Extension of new theory to new (more complex) area – Experimental setup: Topology and Traffic profiles – “Exhaustive” evaluation of admission tests • quality measure: admission probability • comparison with related methods – Simulation to evaluate precision of admission tests CuuDuongThanCong.com https://fb.com/tailieudientucntt Some real examples (3) • Arne Andersson: “General Balanced Trees” (J of Algorithms) • Keeping search trees balanced gives faster Balance criteria? search height diff in height of two subtrees ≤ => max h = 1.44 log |T| general bal trees (gbt) - relation between height and width of T (e.g h = c log |T|) Maintenance? gbt - cheaper to maintain (partial rebuilding O(log |T|)) “General Balanced Trees” • Methodology: Fundamental algorithm theory – Formal definition of concepts • trees and partial rebuilding – Theorem(s) expressing maintenance cost (complexity) – at abstract level (O) and more detailed level (deriving the constant) – Proof of Theorem(s) – Comparison with weight-balanced trees – Hint on generalisation to multidimensional trees CuuDuongThanCong.com https://fb.com/tailieudientucntt Some real examples (4) • Hansson, Jonsson: “A Logic for reasoning about Time and Reliability” (Formal Aspects of Computing 6:512-535, 1994) • Extension of Computation Tree AG(f1-> F≤t>p f2) Logic with probabilities (and time) 0.3 xy r 0.7 • Semantics: formulas are interpreted 0.6 0.4 u over discrete time Markov chains • Verification using model checking ? yes/no “A Logic for reasoning about Time and Reliability” • Methodology: Formal design method – Definition of syntax and semantics (using probability measures for infinite sets of paths) – Model checking algorithm(s) defined – Correctness of algorithms proved by proving that defined and calculated measures coincide – Example of properties and a concrete application is modelled and verified CuuDuongThanCong.com https://fb.com/tailieudientucntt Some real examples (4) “Empirical Evaluation of Usage-Based Software Inspection”, Thomas Thelin, LTH, PhD-thesis, Sept’02 Taxi system Spec Design doc Usage-based Reading (inspection) Use cases List of faults Efficiency – faults found/h Effectiveness – fraction of total faults found Some real examples (4) “Empirical Evaluation of Usage-Based Software Inspection” • Methodology: Interpretation, Quantitative investigation – 27 3rd year students divided into groups • Prioritised use-cases • Randomly ordered use-cases – Hypotheses • There is a difference in efficiency and effectiveness between the groups • The groups find different faults – “Controlled experiment” • Instructions • Inspection (limited time) – Standardized report form • Statistical evaluation of results • (Feedback to students) CuuDuongThanCong.com https://fb.com/tailieudientucntt Some real examples (4) Empirical Evaluation of Usage-Based Software Inspection • Analysis – Statistical methods – Significant difference! • Validity? – Conclusion validity • Robust statistical methods • Independent experiments? Faults 25 20 15 UBR-Prio UBR-No-Prio 10 – Construct validity • “Artificial set-up risk” • Use-cases developed before specification! – External validity • Are students “normal”? Time 0 11 15 19 23 27 31 35 39 43 47 • Generality? – More (positive) evidence needed CuuDuongThanCong.com https://fb.com/tailieudientucntt .. .Science and Engineering (vetenskap och teknik) • Science - new knowledge (understand the world) • Is Computer Science about understanding computers and computing? • Engineering - construction... processing CuuDuongThanCong.com • Computer Science – Algorithms – Programming – Program analysis https://fb.com/tailieudientucntt Building SoftW Computer Science • A meta -science? – Methods. .. eerin n i g En ng.) tw e f o s (e.g Building HardW Computer Literacy is not CS ! Datakunskap/Användning av datorer är inte datavetenskap • Computer Literacy – Spreadsheet pgming – Net surfing

Ngày đăng: 14/09/2020, 22:54

TỪ KHÓA LIÊN QUAN

w