TIES501 Pro gradu -seminaari, kevät 2012 Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 26. tammikuuta 2012
Luennoija Antti-Juhani Kaijanaho yliopistonopettaja ja tohtorikoulutettava pro gradu The formal method known as B and a sketch for its implementation joulukuussa 2002 http://users.jyu.fi/~antkaij/gradu.pdf luennon aiheeseen liittyen konferenssiartikkeli Empirical Evidence About Programming Language Design Choices: A Systematic Random-Sample Mapping Study 1 Työn alla lisensiaatintyö työotsikolla Is it time for evidence-based programming language design? A systematic scoping study of the empirical literature 2 1 Tarjottu EASE 2012 -konferenssille, julkaisupäätöstä odotellaan. 2 Valmistunee keväällä, jos kaikki sujuu hyvin.
Tutkimusterminologiaa primääritutkimus Tutkimus, jonka aineisto on kerätty havainnoimalla tai mallittamalla (tms) itse ilmiötä. sekundääritutkimus Tutkimus, jonka aineistona on joukko primääritutkimuksia. tertiääritutkimus Tutkimus, jonka aineistona on joukko sekundääritutkimuksia.
Kirjallisuuskatsaukset kuuluu jokaiseen opinnäytetyöhön ja tutkimusraporttiin teoriaosa related work perusteellisesti tehtynä myös itsenäinen (sekundääri)tutkimus
Kirjallisuuskatsauksen tehtävä tarkastella aiheesta julkaistuja primääritutkimusraportteja muodostaa kokonaiskuva siitä, mitä aiheesta jo tiedetään tutkielmassa lisäksi osoittaa tekijänsä etevyyttä ja oppineisuutta
Perinteinen kirjallisuuskatsaus kertomus, jota tuetaan lähdeviitteillä seuraavia asioita ei dokumentoida: Miksi juuri nämä lähteet? Millä tavalla lähteistä on päädytty tähän kertomukseen? Miten tekijä on varmistanut, ettei tarinasta ole jäänyt mitään olennaista pois? heikkouksia: Helppo (vahingossakin) tehdä värittynyt kertomus, joka ei vastaa todellisuutta. Lukija ei voi itsenäisesti vakuuttua johtopäätösten oikeellisuudesta.
Systemaattiset katsaukset engl. systematic literature review, SLR alun perin terveys- ja yhteiskuntatieteissä 1980-luvulta alkaen Cochrane Collaboration Campbell Collaboration ohjelmistotekniikan alalle 2000-luvun puolivälissä katsausprosessi suunnitellaan, dokumentoidaan, tarkastetaan tarkoituksena selvittää ( pohjalta) vastaus johonkin käytännön kannalta relevanttiin kysymykseen liittyy myös laajempaan liikkeeseen: evidence-based practice evidence-based medicine (EBM) evidence-based software engineering (EBSE)...
Systemaattiset kartoitukset engl. systematic mapping 3 study prosessi samankaltainen kuin systemaattisissa katsauksissa tarkoituksena selvittää nykytila tuloksena eräänlainen kartta tutkimuskirjallisuuteen 3 tai scoping
Meta-analyysit Meta-analyysi on tilastollinen menetelmäperhe saman aiheen (tilastollisten) tutkimusten tulosten yhdistämiseen. Alun perin Gene V. Glass: Secondary, and Meta-Analysis of Research. Educational Researcher 5 (10), pp. 3 8, 1976. Meta-analyysiksi kutsutaan usein myös (systemaattista) katsausta, joka soveltaa meta-analyysin menetelmiä. Joskus meta-analyysiksi kutsutaan (virheellisesti) myös muunlaisia katsauksia.
Metodilähteitä Barbara Kitchenham & Stuart Charters: Guidelines for performing Systematic Literature Reviews in Software Engineering. Version 2.3, 9.7.2007. http://www.dur.ac.uk/ebse/resources/ guidelines/systematic-reviews-5-8.pdf Austen Rainer & Sarah Beecham: Supplementary Guidelines, Assessment Scheme and evidence-based evaluations of the use of Evidence Based Software Engineering. Version 2.0 draft, 2008. http://www.dur. ac.uk/ebse/resources/guidelines/ebse_ supplementary_guidelines_v2.0_draft.pdf Kai Petersen, Robert Feldt, Shahid Mujtaba & Michael Mattsson: Systematic Mapping Studies in Software Engineering. Proc. 12th International Conference on Evaluation and Assessment in Software Engineering (EASE), 2008. http://www.bcs.org/content/conwebdoc/19543
Systemaattiset katsaukset ja kartoitukset pitää suunnitella ennen tekemistä. suunnitelmaa kutsutaan protokollaksi tekstiä voi käyttää uudelleen raportointivaiheessa n sisältö: 4 1. tausta 2. tutkimuskysymykset 3. hakustrategia 4. valintakriteerit 5. valintakäytänteet 6. laatuarvioinnin suunnitelma 7. tiedonkeruun suunnitelma 8. synteesin suunnitelma 9. julkaisusuunnitelma 10. aikataulu 4 Kitchenham & Charters 2007, s. 13.
Tutkimuskysymykset katsauksissa yksi mahdollinen perusrakenne: 5 Saavuttaako I sovellettuna P:hen C :ssa paremmman O:n kuin C? P (population): keitä tutkittava asia koskee? I (intervention): mitä menetelmää, tekniikkaa, käytäntöä tms. tutkitaan? C (comparison): mihin interventiota verrataan? O (outcome): mitä hyvyyden/huonouden mittaria käytetään? C (context): missä yhteydessä interventiota tutkitaan? Kuvitteellinen esimerkki: Tuottavatko ensimmäisen vuoden tietotekniikan opiskelijat alkeisohjelmointikurssin harjoitustyön nopeammin C#:lla kuin Javalla? (Mitkä ovat PICOC?) 5 ks. Kitchenham & Charters 2007, s. 11
Esimerkkejä [W]hether, and if so when, pairing two programmers is beneficial in terms of important cost drivers such as duration, effort, and quality. 6 Do... studies suggest that using robotics to teach introductory programming is effective? 7 6 Jo E. Hannay, Tore Dybå, Erik Arisholm & Dag I. K. Sjøberg: The effectiveness of pair programming: A meta-analysis. Information and Software Technology 51 (7) pp. 1110 1122, 2009. doi:10.1016/j.infsof.2009.02.001 7 L. Major, T. Kyriacou & O. P. Brereton: Systematic Literature Review: Teaching Novices Programming Using Robots. Proc. 15th Annual Conference on Evaluation & Assessment in Software Engineering (EASE 2011). http://bit.ly/onvupc
Tutkimuskysymykset kartoituksissa Kartoituksessa tutkimuskysymykset eivät kohdistu reaalimaailmaan vaan tutkimuskirjallisuuteen. Mikä on aiheesta tehtyjen tutkimusten määrä? Minkälaisia menetelmiä aiheesta tehdyissä tutkimuksissa on käytetty? Mitä interventioita aihepiirin tutkimuksissa on tutkittu?...
Esimerkkejä [W]hich functionalities/features/characteristics of [high-level language virtual machines] have been most investigated? 8 How much has the efficacy (that is, benefit or hindrance to programmers) of particular programming language design decisions been empirically studied? 9 How has the success in teaching discrete structures courses been evaluated [in research papers on the topic]? 10 8 Vinicius H. S. Durelli, Katia R. Felizardo, and Marcio E. Delamaro: A Systematic Mapping Study on High-level Language Virtual Machines. Proc. VMIL 2010. doi:10.1145/1941054.1941058 9 Antti-Juhani Kaijanaho: Empirical Evidence About Programming Language Design Choices: A Systematic Random-Sample Mapping Study. Submitted manuscript, 2012. 10 Thomas Whelan, Susan Bergin & James F. Power: Teaching Discrete Structures: A systematic review of the literature. Proc. SIGCSE 2011. doi:10.1145/1953163.1953247
n varmennus on hyvä pilotoida. Tehdään tutkimus kertaalleen protokollan mukaisesti pienemmällä aineistolla. Esim. tehdään kaikki haut mutta lopetetaan haku heti kun on löydetty muutama soveltuva tutkimus. Kirjataan ylös esiintyneet ongelmat ja korjataan protokolla. on hyvä antaa kokeneemman tutkijan arvioitavaksi. Ehdottomasti työn ohjaajat ainakin. Mutta myös joku menetelmää tunteva laitokselta. Ideaalitapauksessa käytetään myös ulkopuolisia arvioijia, mutta se lienee graduvaiheessa tarpeetonta. Gradutyössä: kiinnitä huomiota työmäärän rajallisuuteen!
Kirjallisuushaut Haut on hyvä suunnitella protokollassa tarkasti, ja pilotoida. Haut tulee tehdessä dokumentoida: niin tarkasti että joku toinen voisi tehdä saman haun ja saada toivottavasti saman tuloksen mistä, miten ja milloin haettiin koko tulosjoukko, jos mahdollista mahdolliset poikkeamat protokollasta Selailu Avainsanahaut Lumipallohaku Saanti
Selailu erittäin hyvä (ja erittäin työläs) systemaattinen hakumenetelmä mennään kirjastoon (tai julkaisijan tietokantaan) ja luetaan jonkin lehden (tai proceedings-sarjan) kaikki numerot läpi yleensä tosin vain otsikot ja abstraktit jos on hyvä syy, voidaan rajata vain tiettyyn vuosiin Selailu Avainsanahaut Lumipallohaku Saanti
Selailu protokollassa ssa tulee määritellä ne julkaisut, joihin mahdollinen selailu kohdistetaan. Mitä useampi, sitä kattavampi. Mitä useampi, sitä työläämpi. ssa on hyvä perustella valinnat. ssa määriteltävä myös mahdollinen vuosirajaus. Selailu Avainsanahaut Lumipallohaku Saanti
Avainsanahaut haetaan hakukoneella käyttäen sopivaa hakulauseketta lauseke ja käytettävät hakukoneet suunniteltava protokollassa ja ehdottomasti pilotoitava! Koeta laatia haut siten, että et joudu kerralla istumaan koneella kovin pitkään. muutama sata osumaa kerralla Jos mahdollista, tallenna koko hakutulos omalle koneellesi (harvoin onnistuu). Pilotoinnissa käy läpi enintään muutama kymmenen osumaa. Varsinaisesti tehdessäsi käy koko hakutulosjoukko läpi. Selailu Avainsanahaut Lumipallohaku Saanti
Hakulausekkeen laatiminen lähtökohtana tutkimuskysymys valitse kysymyksen keskeiset käsitteet ja yhdistä ne JA-operaattorilla yritä löytää kullekin käsitteelle sellaiset synonyymit, joita uskoisit relevanteissa tutkimuksissa esiintyvän, ja yhdistä ne TAI-operaattorilla lähtökohtana jo tietämäsi artikkelit laadi lauseke, joka löytää ne kaikki ja jonkin verran muitakin... Pilotoinnissa tsekkaa, ettet laadi itsellesi liian isoa urakkaa! Jos näin käy, tee tutkimuskysymykseen jokin rajaus (esim. rajoita vuosia joita tarkastelet). Selailu Avainsanahaut Lumipallohaku Saanti
Google Scholar http://scholar.google.fi/ erinomainen hakukone tutkimuskirjallisuuteen tulosjoukot tosin usein hurjan laajoja hallitsee boolean-kyselyt a b = a ja b a OR b = a tai b sulkeet ok Missään tapauksessa älä anna haun tulosjoukon kasvaa yli tuhannen Google Scholar ei näytä kuin tuhat ensimmäistä tulosta. Selailu Avainsanahaut Lumipallohaku Saanti
Muita hyviä koneita avainsanahakuun ScienceDirect http://www.sciencedirect.com/ IEEE Xplore http://ieeexplore.ieee.org/ Selailu Avainsanahaut Lumipallohaku Saanti
Ei niin hyviä avainsanahakuun ACM Digital Library http://dl.acm.org/ SpringerLink http://www.springerlink.com/ Selailu Avainsanahaut Lumipallohaku Saanti
Lumipallohaku Etsi jo löytämiesi relevanttien artikkeleiden lähdeluettelosta relevantteja artikkeleita. Hae ACM Digital Librarysta tai Google Scholarista (tms.) relevantteja artikkeleita, jotka viittaavat jo löytämiisi artikkeleihin. Toista kunnes et enää löydä lisää relevantteja artikkeleita. Selailu Avainsanahaut Lumipallohaku Saanti
Bibliografiatiedot Tallenna jokaisesta valitsemastasi jutusta vähintään seuraavat tiedot: tekijät otsikko julkaisuvuosi haku, jolla löysit julkaisupaikka lehden nimi, volyymi, numero, sivunumerot proceedings-julkaisun nimi, sivunumerot kirjan julkaisija DOI, jos tiedossa URL, jos tiedossa ja ei ole DOIta DOI on muutettavissa (yleensä) toimivaksi URL:ksi: doi:foo/bar http://dx.doi.org/foo/bar Käytä apuohjelmia, käsin menee liikaa aikaa! Tiedot saa aika usein hakukoneelta BibTEX- tai muussa koneluettavassa muodossa. Ei aina oikein, joten tarkasta! Selailu Avainsanahaut Lumipallohaku Saanti
Kokoteksti Kokotekstin saa yleensä suoraan netistä. Kannattaa käyttää julkaisijan palvelua jos mahdollista. Jos ei suoraan onnistu, kokeile Nelliportaalin kautta. Myös tekijän kotisivuilta voi löytyä versio, mutta se ei välttämättä ole sama kuin julkaistu versio. Tallenna kopio itsellesi tai ota tuloste. Merkitse ylös (bibliografiatietoihin) tallennus- tai tulostuspäivä ( viitattu 21.9.2011 ). Jos ei ole netissä, katso JYKDOKista. Tarvittaessa tee kaukolainatilaus (maksullinen). Selailu Avainsanahaut Lumipallohaku Saanti
Haut ja kokoteksti yliopiston ulkopuolella Yliopiston verkon ulkopuolelta yrittäessä kokotekstiä ei yleensä saa ja hakuominaisuudetkin on usein rajoitettuja. Käytä tällöin yliopiston EZproxy-palvelua http://ezproxy.jyu.fi/. Selailu Avainsanahaut Lumipallohaku Saanti
Hakutuloksissa on yleensä myös irrelevantteja tai muuten tutkimukseen sopimattomia osumia. kriteerit (mukaan vaiko ei) pitää ehdottomasti suunnitella protokollassa ja mielellään pilotoida. Kriteerit jaetaan usein hyväksyntäkriteereihin (inclusion criteria) ja hylkäyskriteereihin (exclusion criteria), mutta näiden termien tulkinta vaihtelee. Oma tulkintani: ehdokas otetaan mukaan, jos se täyttää ainakin yhden hyväksyntäkriteerin eikä yhtään hylkäyskriteeriä Hylkäyspäätös pitää dokumentoida.
Hyväksyntäkriteerit perustuvat yleensä hyväksyttävien artikkelien pääsisältöön hyvä hyväksyntäkriteeri on selkeä ja helposti sovellettavissa esimerkkejä: Primary studies [...] in the form of experiments, surveys, case studies, experience reports and observation papers, representing empirical analysis of aspects of the UML. 11 Is this a primary study that attempts to determine the efficacy of a programming language design decision? [If so, include.] 12 11 D. Budgen, A. J. Burn, O. P. Brereton, B. A. Kitchenham & R. Pretorius: Empirical evidence about the UML: a systematic literature review. Software Practice and Experience 41 pp. 363 392, 2011. doi:10.1002/spe.1009 12 Kaijanaho 2012.
Hylkäyskriteerit kuvaavat poikkeuksia tai tarkennuksia hyväksyntäkriteereihin esim. julkaisun kieli (kannattaako gradua varten ostaa jonkin artikkelin käännös kiinasta suomeen?) esimerkkejä: Letters, editorials and position papers were all excluded. 13 Can you find a complete written and published report about this study? [If not, exclude.] 14 [S]tudies that focused on single techniques or practices [of agile development], such as pair programming, unit testing, or refactoring, were excluded. 15 13 Major ym. 2011 14 Kaijanaho 2012 15 Tore Dybå & Torgeir Dingsøyr: Empirical studies of agile software development: A systematic review. Information and Software Technology 50 pp. 833 859, 2008. doi:10.1016/j.infsof.2008.01.006
prosessi määriteltävä protokollassa, hyvä pilotoida yleensä monivaiheinen: 1. Hakujen yhteydessä valitaan kaikki joiden hylkäys ei ole itsestään selvää. (Jos hakujen tulosjoukko tallennetaan, tämä vaihe ei ole välttämätön.) 2. Hakutuloksista valitaan kaikki, joiden hylkäys ei ole helppo päätös. 16 3. Luetaan edellisen vaiheen valitsemat artikkelit läpi ja tehdään lopulliset valinnat. Parasta olisi, jos valinnan tekisi vähintään kaksi tutkijaa toisistaan riippumatta. Graduvaiheessa voi antaa satunnaisotoksen ohjaajalle riippumatonta valintapäätöstä varten. Lasketaan ja dokumentoidaan κ 17 Eriävät päätökset ratkaistaan neuvottelemalla. 16 Voidaan myös rajoittua tarkastelemaan pelkkiä metatietoja, mutta tämä on ainakin SE-linjalla yleensä ajanhukkaa. 17 Ks. http://en.wikipedia.org/wiki/kappa_statistics
Laatuarviointi Katsaus tarvitsee löydettyjen lähteiden laatuarvioinnin, kartoitus yleensä ei. Usein jokin laadun minimitaso asetetaan hylkäyskriteeriksi. Laatuarvio otetaan huomioon synteesissä. Ks. Kitchenham & Charters 2007 ss. 20 29.
Tiedonkeruu Tiedonkeruu valituista lähteistä pitää suunnitella protokollassa ja pilotoida. Kerää riittävästi tietoa, jotta voit vastata tutkimuskysymyksiisi. Myös tiedonkeruussa on hyvä käyttää kahden tutkijan (tai satunnaisotannan ja ohjaajan) menetelmää. Ks. Kitchenham & Charters 2007 ss. 29 34.
Synteesi Synteesi eli miten kerätystä tiedosta johdetaan vastaukset tutkimuskysymyksiin pitää suunnitella protokollassa. Synteesi on hyvä pilotoida. Menetelmiä on paljon, mm. perinteinen kertomussynteesi tilastollinen visualisointi tilastollinen meta-analyysi meta-etnografia 18 grounded theory Ks. mm. Daniela S. Cruzes & Tore Dybå: Research synthesis in software engineering: A tertiary study. Information and Software Technology 53 pp. 440 455, 2011. doi:10.1016/j.infsof.2011.01.004 18 Ks. esim. Dybå ym. 2008.
raportti on esim. gradu tai sen osa sisältää: taustaa osin tai kokonaan protokollasta menetelmät mitä protokollan mukaan piti tehdä mitä oikeasti tehtiin (poikkeamat protokollasta) tilastotietoa prosessista tulokset protokollassa suunnitellun synteesin esitys pohdinta vastaukset tutkimuskysymyksiin työn onnistumisen arviointi vähän voi spekuloidakin raportin liitteeksi luettelo hylätyistä ehdokasartikkeleista hylkäyssyineen mahdollisesti protokolla sellaisenaan
SLR ym gradussa tai graduna katsaus tai kartoitus on työläs. sataprosenttisesti tehtynä vaatii 3 5 tutkijaa ja noin vuoden kalenteriaikaa oma työni: protokollan kirjoittaminen alkoi lokakuussa 2010 toteutus alkoi joulukuussa 2010 nyt valinnan toisessa vaiheessa toki on ollut taukojakin: opetukseen keskittyminen helmi toukokuussa, loma heinäkuussa Tekniikoita voi käyttää gradussa, mutta protokollaa laatiessa pitää kiinnittää erityinen huomio työmäärän rajoittamiseen. Esim: Rajataan tarkastelu vain esim. viimeiseen 5 vuoteen. Tehdään ja raportoidaan pelkkä pilotointi.
Luettavaa Aiemmin mainitut metodilähteet. Andy Oram & Greg Wilson (eds): Making Software: What Really Works, and Why We Believe It. O Reilly 2011. Gordon C. S. Smith & Jill P. Pell: Hazardous journeys: Parachute use to prevent death and major trauma related to gravitational challenge: systematic review of randomised controlled trials. BMJ 327:1459 doi:10.1136/bmj.327.7429.1459 John P. A. Ioannidis: Why Most Published Research Findings Are False. PLoS Medicine 2 (8) e124 doi:doi/10.1371/journal.pmed.0020124