TIES501 Pro gradu -seminaari, kevät 2013 Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 30. tammikuuta 2013
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 Työn alla lisensiaatintyö työotsikolla Is it time for evidence-based programming language design? A systematic scoping study of the empirical literature 1 1 Valmistuu kevään kuluessa.
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 Tehtävät: tarkastella aiheesta julkaistuja primääritutkimusraportteja muodostaa kokonaiskuva siitä, mitä aiheesta jo tiedetään tutkielmassa lisäksi osoittaa tutkielman paikka alan tietämysverkossa (esim. osoittaa aiemman tutkimuksen jättämä aukko, jonka tutkielma pyrkii täyttämään)
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 2 study prosessi samankaltainen kuin systemaattisissa katsauksissa tarkoituksena selvittää nykytila tuloksena eräänlainen kartta tutkimuskirjallisuuteen 2 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 Myös muut kirjallisuuskatsaukset on hyvä suunnitella etukäteen soveltuvin osin. n sisältö: 3 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 3 Kitchenham & Charters 2007, s. 13.
Tutkimuskysymykset katsauksissa yksi mahdollinen perusrakenne: 4 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?) 4 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. 5 Do... studies suggest that using robotics to teach introductory programming is effective? 6 5 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 6 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). doi:10.1049/ic.2011.0003
Tutkimuskysymykset kartoituksissa Kartoituksessa tutkimuskysymyksen populaatio on tutkimuskirjallisuus. 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? 7 How much has the efficacy of particular programming language design decisions been empirically studied? 8 How has the success in teaching discrete structures courses been evaluated [in research papers on the topic]? 9 7 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 8 Antti-Juhani Kaijanaho: Empirical evidence regarding programming language design issues. Systematic mapping study protocol, 2010 2013. 9 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 perustellusta syystä voidaan rajata vain tiettyyn vuosiin 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
Hyviä koneita avainsanahakuun Google Scholar http://scholar.google.com Scopus http://www.scopus.com/ IEEE Xplore http://ieeexplore.ieee.org/ 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, Google Scholarista tai Scopuksesta 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 koneluettavassa muodossa (esim. BibTEX). 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 ja MELINDAsta. Myös WorldCat (http://www.worldcat.org/) voi olla hyödyksi. 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 VPN-palvelua tai 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. 10 Primary studies that attempt to determine the efficacy of a programming language design decision 11 10 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 11 Kaijanaho 2010 2013.
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 12 Primary studies that attempt to determine the efficacy of a programming language design decision 13 [S]tudies that focused on single techniques or practices [of agile development], such as pair programming, unit testing, or refactoring 14 12 Major ym. 2011 13 Kaijanaho 2010 2013 14 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. 15 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 κ 16 Eriävät päätökset ratkaistaan neuvottelemalla. 15 Voidaan myös rajoittua tarkastelemaan pelkkiä metatietoja, mutta tämä on ainakin SE-linjalla yleensä ajanhukkaa. 16 Ks. http://en.wikipedia.org/wiki/kappa_statistics
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 17 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 17 Ks. esim. Dybå ym. 2008.
Yksi vaihtoehto: Temaattinen synteesi Daniela S. Cruzes & Tore Dybå: Recommended Steps for Thematic Synthesis in Software Engineering. Proc ESEM 2011. doi:10.1109/esem.2011.36 18 Kuusi vaihetta: 1. Lue kaikki mukaan valitut lähteet ennen kuin jatkat seuraavaan vaiheeseen. 2. Kirjoita ylös joka lähteestä sen raportoiman tutkimuksen tavoitteet, tutkimuskonteksti ja tulokset (suorina lainauksina). 3. Koodaa ylös kirjoittamasi tiedot eli anna niille kategorisoivia, yhteen vetäviä tai selittäviä nimiä. 4. Etsi koodaamistasi tiedoista yhdistäviä tai tulkitsevia teemoja. Kuviot ovat kivoja tässä. 5. Palaa tutkimuskysymyksiisi ja luo teemoista malli, joka auttaa vastaamaan kysymyksiisi. 6. Arvioi synteesisi luotettavuus. 18 Jos aiot oikeasti soveltaa temaattista synteesiä, lue ko. lähde ensin!
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
Prosessin dokumentointi gradussa Huomaa, että kaikki tutkimusprosessissa kertyneet muistiinpanot eivät kuulu graduun (kuin korkeintaan liitteeksi). Kerro mitä teit ja miksi sekä anna tilastotietoja prosessista. Laita raporttiin näytteitä prosessisi aikana kertyneistä muistiinpanoista, jos se parantaa työn läpinäkyvyyttä. Talleta muistiinpanosi ja kertyneet välivaiheen datat luotettavasti, jotta voit vuosia myöhemmin tarvittaessa puolustautua graduasi kohtaan mahdollisesti esitettäviä syytöksiä vastaan. vrt. dosentti Bäckmanin väitöskirjasta syksyllä noussut kohu
Muista varoa plagiointia Jos käytät enimmäkseen samoja sanoja suunnilleen samassa järjestyksessä kuin lähteesi, kyse on lainauksesta ja se tulee merkitä sellaiseksi. Käytä lainausmerkkejä tai sisennä lainattu kappale. Kaikki erot alkuperäisen lähteen ja lainauksen välillä, myös kirjainkoon muutokset, on merkittävä näkyviin. Tarkka lähdeviite (sivunumeron kanssa!) on välttämätön. Jos sanot saman asian kuin lähde mutta et käytä samoja sanoja, kyse on parafraasista. Älä silloin käytä lainausmerkkejä. Muista kuitenkin tarkka lähdeviite. Jos vetoat lähteeseen muulla tavoin, muista lähdeviite. Plagiointi on vakava akateeminen rike ja voi johtaa esimerkiksi tutkielman hylkäämiseen.
SLR ym gradussa tai graduna SLR voi olla yksinään gradu! SLR-menetelmää voi myös käyttää gradun teoriaosan laatimisen apuna. katsaus tai kartoitus on kunnolla tehtynä erittäin työläs. oma työni: protokollan kirjoittaminen alkoi lokakuussa 2010 toteutus alkoi joulukuussa 2010 nyt täydennyshakujen aiheuttamassa toisessa valintakierroksessa toki on ollut opetuksesta ja lomista johtuvia taukoja 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, 2003. doi:10.1136/bmj.327.7429.1459 John P. A. Ioannidis: Why Most Published Research Findings Are False. PLoS Medicine 2 (8) e124, 2005. doi:10.1371/journal.pmed.0020124