Eliminating Software Failures - A Literature Survey
Rämö, Kukka (2009)
Rämö, Kukka
2009
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi-fe201005051790
https://urn.fi/URN:NBN:fi-fe201005051790
Tiivistelmä
Software faults are expensive and cause serious damage, particularly if discovered late or not at all. Some software faults tend to be hidden. One goal of the thesis is to figure out the status quo in the field of software fault elimination since there are no recent surveys of the whole area. Basis for a structural framework is proposed for this unstructured field, paying attention to compatibility and how to find studies. Bug elimination means are surveyed, including bug knowhow, defect prevention and prediction, analysis, testing, and fault tolerance. The most common research issues for each area are identified and discussed, along with issues that do not get enough attention. Recommendations are presented for software developers, researchers, and teachers. Only the main lines of research are figured out. The main emphasis is on technical aspects.
The survey was done by performing searches in IEEE, ACM, Elsevier, and Inspect databases. In addition, a systematic search was done for a few well-known related journals from recent time intervals. Some other journals, some conference proceedings and a few books, reports, and Internet articles have been investigated, too.
The following problems were found and solutions for them discussed. Quality assurance is testing only is a common misunderstanding, and many checks are done and some methods applied only in the late testing phase. Many types of static review are almost forgotten even though they reveal faults that are hard to be detected by other means. Other forgotten areas are knowledge of bugs, knowing continuously repeated bugs, and lightweight means to increase reliability. Compatibility between studies is not always good, which also makes documents harder to understand. Some means, methods, and problems are considered method- or domain-specific when they are not. The field lacks cross-field research. Ohjelmointivirheet ovat kalliita ja aiheuttavat vakavia vahinkoja, varsinkin jos ne havaitaan myöhäisessä kehitysvaiheessa tai käytön aikana tai niitä ei havaita ollenkaan. Jotkut virhetyypit ovat usein piileviä. Työn yhtenä tavoitteena on luoda aihealueeseen liittyvä yleiskuva, koska alalta ei ole viime vuosina tehty kokonaisvaltaista kirjallisuuskatsausta. Työssä luodaan perustaa alan jäsentämiselle; yhteensopivuuteen ja tutkimusten löytämiseen kiinnitetään huomiota. Työssä tehdään kirjallisuuskatsausta seuraavilta osa-alueilta: ohjelmointivirhetuntemus, virheiden ennaltaehkäisy ja ennustaminen, tarkastaminen ja analyysi, testaus ja virhetilanteista selviytyvien ohjelmien laatiminen. Jokaiselta osa-alueelta kartoitetaan yleisimmät tutkimuskohteet, ja näistä tutkimuskohteista keskustellaan. Lisäksi työssä keskustellaan kohteista, joita ei ole tutkittu riittävästi. Lopuksi esitetään suosituksia ohjelmistokehittäjille, tutkijoille ja opettajille. Työssä hahmotellaan ainoastaan tutkimuksen päälinjat ja pääpaino on teknisillä näkökohdilla.
Kirjallisuuskatsaus tehtiin suorittamalla hakuja IEEE-, ACM-, Elsevier- ja Inspect- tietokannoista. Lisäksi selattiin eräiden tunnettujen alan lehtien tiettyinä aikaväleinä ilmestyneet numerot, lähinnä viime vuosilta. Työtä varten tutkittiin myös joitakin muita lehtiä, konferenssijulkaisuja sekä muutamia kirjoja, raportteja ja Internet-julkaisuja.
Työssä havaittiin muun muassa seuraavia ongelmia ja keskusteltiin niiden ratkausukeinoista. Monet tarkastukset tehdään ja monia menetelmiä sovelletaan vasta testausvaiheessa, koska testauksen luullaan olevan ainoa laadunvalvontatapa. Monet staattiset tarkastustavat on lähes unohdettu, vaikka niiden avulla löydetään virheitä, joita on vaikea havaita muilla keinoilla. Muita unohtuneita alueita ovat ohjelmointivirhetuntemus, tietämys jatkuvasti toistettavista virheistä sekä helpot luotettavuuden lisäämiskeinot. Tutkimukset ovat usein yhteensopimattomia ja siten myös vaikeita ymmärtää. Joidenkin ongelmien, keinojen ja menetelmien ajatellaan liittyvän ainoastaan tiettyyn menetelmään tai sovellusalueeseen, vaikka ne ovat yleisempiä. Yhden osa-alueen tutkimuksissa ei yleensä oteta huomioon alan muita osa-alueita.
The survey was done by performing searches in IEEE, ACM, Elsevier, and Inspect databases. In addition, a systematic search was done for a few well-known related journals from recent time intervals. Some other journals, some conference proceedings and a few books, reports, and Internet articles have been investigated, too.
The following problems were found and solutions for them discussed. Quality assurance is testing only is a common misunderstanding, and many checks are done and some methods applied only in the late testing phase. Many types of static review are almost forgotten even though they reveal faults that are hard to be detected by other means. Other forgotten areas are knowledge of bugs, knowing continuously repeated bugs, and lightweight means to increase reliability. Compatibility between studies is not always good, which also makes documents harder to understand. Some means, methods, and problems are considered method- or domain-specific when they are not. The field lacks cross-field research.
Kirjallisuuskatsaus tehtiin suorittamalla hakuja IEEE-, ACM-, Elsevier- ja Inspect- tietokannoista. Lisäksi selattiin eräiden tunnettujen alan lehtien tiettyinä aikaväleinä ilmestyneet numerot, lähinnä viime vuosilta. Työtä varten tutkittiin myös joitakin muita lehtiä, konferenssijulkaisuja sekä muutamia kirjoja, raportteja ja Internet-julkaisuja.
Työssä havaittiin muun muassa seuraavia ongelmia ja keskusteltiin niiden ratkausukeinoista. Monet tarkastukset tehdään ja monia menetelmiä sovelletaan vasta testausvaiheessa, koska testauksen luullaan olevan ainoa laadunvalvontatapa. Monet staattiset tarkastustavat on lähes unohdettu, vaikka niiden avulla löydetään virheitä, joita on vaikea havaita muilla keinoilla. Muita unohtuneita alueita ovat ohjelmointivirhetuntemus, tietämys jatkuvasti toistettavista virheistä sekä helpot luotettavuuden lisäämiskeinot. Tutkimukset ovat usein yhteensopimattomia ja siten myös vaikeita ymmärtää. Joidenkin ongelmien, keinojen ja menetelmien ajatellaan liittyvän ainoastaan tiettyyn menetelmään tai sovellusalueeseen, vaikka ne ovat yleisempiä. Yhden osa-alueen tutkimuksissa ei yleensä oteta huomioon alan muita osa-alueita.
Kokoelmat
Samankaltainen aineisto
Näytetään aineisto, joilla on samankaltaisia nimekkeitä, tekijöitä tai asiasanoja.
-
Software Sustainability by Design
Oyedeji, Shola
Acta Universitatis Lappeenrantaensis (Lappeenranta-Lahti University of Technology LUT, 05.12.2019)In our current world, software impacts almost everything; it connects people and forms the cornerstone for the economy, as such, has an impact on sustainability and the emerging sustainable development goals (SDGs). ... -
Integration of sustainable development in software development : case study : wedding planning
Emenike, Edith Chinwe (2019)Context: Sustainable software development is a set of practices and mindset (principles) that help teams and software organizations maintain and achieve an optimal development pace (Kevin Tate 2005). While the pace of ... -
Onboarding for an agile software development company
Enberg, Tomi (2022)Global shortage of highly skilled employees has created a need to be more efficient in onboarding new hires to software development companies. The efficiency influences the new employee’s willingness to stay with the company ...