Share to: share facebook share twitter share wa share telegram print page

Software archaeology

Software archaeology or source code archeology is the study of poorly documented or undocumented legacy software implementations, as part of software maintenance.[1][2] Software archaeology, named by analogy with archaeology,[3] includes the reverse engineering of software modules, and the application of a variety of tools and processes for extracting and understanding program structure and recovering design information.[1][4] Software archaeology may reveal dysfunctional team processes which have produced poorly designed or even unused software modules, and in some cases deliberately obfuscatory code may be found.[5] The term has been in use for decades.[6]

Software archaeology has continued to be a topic of discussion at more recent software engineering conferences.[7]

Techniques

A workshop on Software Archaeology at the 2001 OOPSLA (Object-Oriented Programming, Systems, Languages & Applications) conference identified the following software archaeology techniques, some of which are specific to object-oriented programming:[8]

More generally, Andy Hunt and Dave Thomas note the importance of version control, dependency management, text indexing tools such as GLIMPSE and SWISH-E, and "[drawing] a map as you begin exploring."[8]

Like true archaeology, software archaeology involves investigative work to understand the thought processes of one's predecessors.[8] At the OOPSLA workshop, Ward Cunningham suggested a synoptic signature analysis technique which gave an overall "feel" for a program by showing only punctuation, such as semicolons and curly braces.[9] In the same vein, Cunningham has suggested viewing programs in 2 point font in order to understand the overall structure.[10] Another technique identified at the workshop was the use of aspect-oriented programming tools such as AspectJ to systematically introduce tracing code without directly editing the legacy program.[8]

Network and temporal analysis techniques can reveal the patterns of collaborative activity by the developers of legacy software, which in turn may shed light on the strengths and weaknesses of the software artifacts produced.[11]

Michael Rozlog of Embarcadero Technologies has described software archaeology as a six-step process which enables programmers to answer questions such as "What have I just inherited?" and "Where are the scary sections of the code?"[12] These steps, similar to those identified by the OOPSLA workshop, include using visualization to obtain a visual representation of the program's design, using software metrics to look for design and style violations, using unit testing and profiling to look for bugs and performance bottlenecks, and assembling design information recovered by the process.[12] Software archaeology can also be a service provided to programmers by external consultants.[13]

The profession of "programmer–archaeologist" features prominently in Vernor Vinge's 1999 sci-fi novel A Deepness in the Sky. [14]

See also

References

  1. ^ a b Robles, Gregorio; Gonzalez-Barahona, Jesus M.; Herraiz, Israel (2005). "An Empirical Approach to Software Archaeology" (PDF). Poster Proceedings of the International Conference on Software Maintenance.
  2. ^ Ambler, Scott W. "Agile Legacy System Analysis and Integration Modeling". agilemodeling.com. Retrieved 2010-08-20. Without accurate documentation, or access to knowledgeable people, your last resort may be to analyze the source code for the legacy system... This effort is often referred to as software archaeology.
  3. ^ Moyer, Bryon (4 March 2009). "Software Archeology: Modernizing Old Systems" (PDF). Embedded Technology Journal.
  4. ^ Hopkins, Richard; Jenkins, Kevin (2008). "5. The Mythical Metaman". Eating the IT Elephant: Moving from greenfield development to brownfield. Addison-Wesley. p. 93. ISBN 978-0-13-713012-2.
  5. ^ Spinellis, Diomidis; Gousios, Georgios (2009). "2. A Tale of Two Systems § Lack of Cohesion". Beautiful Architecture. O'Reilly. p. 29. ISBN 978-0-596-51798-4.
  6. ^ An early discussion is Grass, Judith E. (Winter 1992). "Object-Oriented Design Archaeology with CIA++" (PDF). Computing Systems. 5 (1).
  7. ^ For example, the "32nd ACM/IEEE International Conference on Software Engineering". May 2010..
  8. ^ a b c d Hunt, Andy; Thomas, Dave (March–April 2002). "Software Archaeology" (PDF). IEEE Software. 19 (2): 20–22. doi:10.1109/52.991327.
  9. ^ Cunningham, Ward (2001). "Signature Survey: A Method for Browsing Unfamiliar Code". Workshop Position Statement, Software Archeology: Understanding Large Systems, OOPSLA 2001.
  10. ^ Cook, John D. (10 November 2009). "Software Archeology". The Endeavour.
  11. ^ de Souza, Cleidson; Froehlich, Jon; Dourish, Paul (2005). "Seeking the Source: Software Source Code as a Social and Technical Artifact" (PDF). Proceedings of the 2005 International ACM SIGGROUP Conference on Supporting Group Work. pp. 197–206. doi:10.1145/1099203.1099239. ISBN 1595932232.
  12. ^ a b Rozlog, Michael (28 January 2008). "Software Archeology: What Is It and Why Should Java Developers Care?". java.sys-con.com.
  13. ^ Sharwood, Simon (3 November 2004). "Raiders of the Lost Code". ZDNet.
  14. ^ Rees, Gareth (2013-06-12). "Software archaeology and technical debt".

Read other articles:

VeneziaNama lengkapVenezia Football Club S.r.l.JulukanI Leoni ałati (Singa Bersayap)I Lagunari (Si Laguna)Gli Arancioneroverdi (Oranye-Hitam-Hijau)Berdiri1907; 116 tahun lalu (1907), sebagai Venezia Foot Ball Club2005; 17 tahun lalu (2005), sebagai Società Sportiva Calcio Venezia2009; 13 tahun lalu (2009), sebagai Foot Ball Club Unione Venezia2015; 8 tahun lalu (2015), sebagai Venezia Football ClubStadionStadion Pier Luigi PenzoSant'Elena, Venesia, Italia(Kapasitas: 7.45...

Este artigo ou secção necessita de referências de fontes secundárias fiáveis e independentes. Fontes primárias, ou com conflitos de interesse, não são adequadas para verbetes enciclopédicos. Ajude a incluir referências.—Encontre fontes: ABW  • CAPES  • Google (N • L • A) (Junho de 2021) A lista de arruamentos da Madalena apresenta os 22 arruamentos oficiais da freguesia lisboeta da Madalena e a sua descrição. Avenida ...

هذه المقالة يتيمة إذ تصل إليها مقالات أخرى قليلة جدًا. فضلًا، ساعد بإضافة وصلة إليها في مقالات متعلقة بها. (أكتوبر 2022) باقر علي خريبط معلومات شخصية تاريخ الميلاد فبراير 1928  تاريخ الوفاة يناير 23, 1986 مواطنة الكويت  الحياة العملية المهنة رجل أعمال  تعديل مصدري - تعديل  

2S5 Giatsint-S (Rusia: 2С5 «Гиацинт-С», Inggris: hyacinth) adalah gun self-propelled 152 mm Soviet/Rusia. 2S5 adalah sebutan Grau nya. Ini adalah dilindungi NBC. Produksi 2S5 Giatsint-S dimulai pada tahun 1976 bersama dengan versi 2A36 Giatsint-B. Itu diperkenalkan pada tahun 1978 dan juga telah dikenal sebagai M1981 oleh Amerika Serikat. 2S5 ini digunakan di Angkatan Darat Soviet dan tentara Pakta Warsawa lainnya. Itu juga diekspor ke Finlandia. Referensi Pranala luar (Rusia)...

Pour les articles homonymes, voir Saint Jérôme dans son étude. Saint Jérôme dans son étudeArtiste Antonello de MessineDate environ 1474-1475Type Huile sur panneau de tilleulTechnique PeintureDimensions (H × L) 45,7 × 36,2 cmPropriétaires Thomas Baring, Thomas Baring et Thomas BaringNo d’inventaire NG1418Localisation National Gallery, Londres (Royaume-Uni)modifier - modifier le code - modifier Wikidata Saint Jérôme dans son étude est le titre d'une pe...

أعضاء لجنة حائط البراق 1930 لجنة حائط البراق عام 1930 هي لجنة عينتها الحكومة البريطانية، تحت مسؤولياتها في الانتداب على فلسطين، ردًا على ثورة البراق 1929. وكان الهدف من اللجنة تحديد حقوق ومطالب المسلمين واليهود فيما يتعلق بحائط البراق وتحديد أسباب العنف ومنع حدوثه في المستقبل. ...

2011 Polish film by Jan Komasa Suicide RoomDirected byJan KomasaWritten byJan KomasaProduced byJerzy KapuścińskiStarringJakub GierszałCinematographyRadosław ŁadczukEdited byBartosz PietrasMusic byMichal JacaszekProductioncompanies Mediabrigade Odra-Film Polski Instytut Sztuki Filmowej Studio Filmowe Kadr Distributed byITI CinemaRelease dates 12 February 2011 (2011-02-12) (Berlinale) 4 March 2011 (2011-03-04) (Poland) Running time110 minutesCountryPol...

This article may rely excessively on sources too closely associated with the subject, potentially preventing the article from being verifiable and neutral. Please help improve it by replacing them with more appropriate citations to reliable, independent, third-party sources. (August 2020) (Learn how and when to remove this template message) 'Unlocking Our Sound Heritage' (UOSH) is a UK-wide project that aims to preserve, digitise and provide public access to a large part of the nation's sound...

Nature reserve in Gomel Region, Belarus Pripyatsky National ParkIUCN category II (national park)Pripyat River in BelarusLocationBelarusCoordinates52°00′58″N 28°00′45″E / 52.016163°N 28.012390°E / 52.016163; 28.012390Area634,58 km²Established1996Websitehttps://www.npp.by/ Designations Ramsar WetlandDesignated29 March 2013Reference no.2197[1] Pripyatsky National Park[2] or Pripyat National Park[3] in a natural reserve in Gomel Re...

ハーモニー著者 伊藤計劃発行日 2008年12月18日発行元 早川書房ジャンル SF国 日本言語 日本語ページ数 354コード ISBN 9784152089922 ISBN 9784150310196(文庫版) ISBN 9784150311667(新装版) ウィキポータル 文学 [ ウィキデータ項目を編集 ]テンプレートを表示 『ハーモニー』 <harmony/> は、伊藤計劃の長編SF小説。2008年12月にハヤカワSFシリーズ Jコレクションの一冊として刊行。...

2002 studio album by Thunderbirds Are Now!Doctor, Lawyer, Indian ChiefStudio album by Thunderbirds Are Now!ReleasedNovember 26, 2002GenreNoise rockPost-punk revivalLength23:21LabelAction DriverThunderbirds Are Now! chronology Another One Hypnotized By...(2003) Doctor, Lawyer, Indian Chief(2002) Justamustache(2005) Professional ratingsReview scoresSourceRatingAllMusic[1]Pitchfork Media(5.9/10)[2] Doctor, Lawyer, Indian Chief is an album by Thunderbirds Are Now! The albu...

2023 video game 2023 video gamePayday 3Developer(s)Starbreeze StudiosPublisher(s)Deep SilverComposer(s)Gustavo CoutinhoEngineUnreal Engine 4Platform(s)PlayStation 5WindowsXbox Series X/SRelease21 September 2023Genre(s)First-person shooterMode(s)Single-player, multiplayer Payday 3 is a cooperative first-person shooter game developed by Starbreeze Studios and published by Deep Silver. The game is a sequel to Payday 2, and is the third installment in the Payday series. It was released for PlaySt...

Compositional technique in music This article has multiple issues. Please help improve it or discuss these issues on the talk page. (Learn how and when to remove these template messages) This article may be too technical for most readers to understand. Please help improve it to make it understandable to non-experts, without removing the technical details. (November 2022) (Learn how and when to remove this template message) This article may contain an excessive amount of intricate detail that ...

Dari buku terbitan 1884, Costumes of All Nations Kostum dapat merujuk pada pakaian secara umum, atau gaya pakaian tertentu pada orang, kelas masyarakat, atau periode tertentu. Istilah ini juga dapat merujuk pada pengaturan artistik asesoris pada gambar, patung, puisi, atau lakon, sesuai dengan zaman, tempat, atau keadaan lain yang dideskripsikan. Kostum dapat pula merujuk pada suatu gaya pakaian tertentu yang dikenakan untuk menampilkan si pengguna sebagai suatu karakter atau tipe karakter la...

Artikel ini mengenai Allah dalam istilah Kekristenan di Indonesia dan bukan mengenai Allah, Tuhan dalam Islam. Untuk pemahaman lebih lanjut, lihat artikel Penggunaan Allah bagi umat Kristen Indonesia. Halaman ini berisi artikel tentang konsep Tritunggal dalam Kekristenan. Untuk konsep serupa dalam agama lain, lihat Tuhan Bapa. Bagian dari seri tentangKekristenan YesusKristus Yesus menurut Kristen Lahir Kiprah Wafat Kebangkitan Kenaikan AlkitabDasar Perjanjian Lama Perjanjian Baru Injil Kanon ...

For other uses, see Hyde (disambiguation). Human settlement in EnglandThe HydeThe big switching centre buildings of the BT Colindale telephone exchange in The HydeThe HydeLocation within Greater LondonOS grid referenceTQ213885London boroughBarnetCeremonial countyGreater LondonRegionLondonCountryEnglandSovereign stateUnited KingdomPost townLONDONPostcode districtNW9Dialling code020PoliceMetropolitanFireLondonAmbulanceLondon UK ParliamentHendonLondon ...

Gran Sinagoga de Pilsen Monumento nacional de la República Checa y monumento cultural de la República Checa LocalizaciónPaís República ChecaDivisión PilsenJižní PředměstíDirección Pilsen, República ChecaCoordenadas 49°44′48″N 13°22′22″E / 49.746667, 13.372778Información religiosaCulto judaísmoHistoria del edificioFundación 1890Construcción 1892Arquitecto Max Fleischer (plan original), Emmanuel KlotzDatos arquitectónicosEstilo arquitectura neoárabeA...

1974 United States Senate election in Iowa ← 1968 November 5, 1974 1980 →   Nominee John Culver David M. Stanley Party Democratic Republican Popular vote 426,947 420,546 Percentage 50.02% 49.27% County resultsCulver:      40–50%      50–60%      60–70% Stanley:      40-50%      50-60%      60-70%   ...

This article does not cite any sources. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed.Find sources: Maepo station – news · newspapers · books · scholar · JSTOR (July 2009) (Learn how and when to remove this template message) Maepo stationKorean nameHangul매포역Hanja梅浦驛Revised RomanizationMaepo-yeokMcCune–ReischauerMaep'o-yŏk Maepo station is a railway station on th...

International standard for enterprise modelling and enterprise integration Representation of the ISO 19439 standard. ISO 19439:2006 Enterprise integration—Framework for enterprise modelling, is an international standard for enterprise modelling and enterprise integration developed by the International Organization for Standardization, based on CIMOSA and GERAM.[1] Overview ISO 19439 framework wants to provide a unified conceptual basis for model-based enterprise engineering that ena...

Kembali kehalaman sebelumnya