20 research outputs found

    Consider the Source: The Value of Source Code to Digital Preservation Strategies

    Get PDF
    One of the major challenges in the digital preservation field is the difficulty of ensuring long-term access to digital objects, especially in cases when the software that was used to create an object is no longer current. Software source code has a human-readable, documentary structure that makes it an overlooked aspect of digital preservation strategies, in addition to a valuable component for the records of modern computing history. The author surveys several approaches to software preservation and finds that, by supporting open source initiatives, digital libraries can improve their ability to preserve access to their collections for future generations

    CU2CL: A CUDA-to-OpenCL Translator for Multi- and Many-core Architectures

    Get PDF
    The use of graphics processing units (GPUs) in high-performance parallel computing continues to become more prevalent, often as part of a heterogeneous system. For years, CUDA has been the de facto programming environment for nearly all general-purpose GPU (GPGPU) applications. In spite of this, the framework is available only on NVIDIA GPUs, traditionally requiring reimplementation in other frameworks in order to utilize additional multi- or many-core devices. On the other hand, OpenCL provides an open and vendorneutral programming environment and runtime system. With implementations available for CPUs, GPUs, and other types of accelerators, OpenCL therefore holds the promise of a “write once, run anywhere” ecosystem for heterogeneous computing. Given the many similarities between CUDA and OpenCL, manually porting a CUDA application to OpenCL is typically straightforward, albeit tedious and error-prone. In response to this issue, we created CU2CL, an automated CUDA-to- OpenCL source-to-source translator that possesses a novel design and clever reuse of the Clang compiler framework. Currently, the CU2CL translator covers the primary constructs found in CUDA runtime API, and we have successfully translated many applications from the CUDA SDK and Rodinia benchmark suite. The performance of our automatically translated applications via CU2CL is on par with their manually ported countparts

    Management of visual clutter in annotated 3D CAD models: A comparative study

    Full text link
    The use of annotations in CAD models has been an active area of research because of their ability to connect design information to specific aspects of the model s geometry. The effectiveness of annotations is determined by the ability to clearly communicate information. However, annotations can quickly create clutter and confusion as they increase both in number and complexity. Consequently, efficient interaction and visualization mechanisms become crucial. Despite recent standardizations of procedures for the presentation of textual information in CAD models, no explicit guidelines are available as to how to make annotated models more readable and manageable. In this paper, we present the results of a comparative study of different mechanisms to manage visual clutter in annotated 3D CAD models and offer recommendations based on our findings. Our results show that even basic interaction mechanisms have a substantial impact on user s performanceCamba, J.; Contero, M.; Johnson, M. (2014). Management of visual clutter in annotated 3D CAD models: A comparative study. Lecture Notes in Computer Science. 8518:405-416. doi:10.1007/978-3-319-07626-3_37S4054168518Kajko-Mattsson, M.: The State of Documentation Practice within Corrective Maintenance. In: IEEE International Conference on Software Maintenance, pp. 354–363. IEEE Press, New York (2001)Van De Vanter, M.L.: The Documentary Structure of Source Code. Information and Software Technology 44, 767–782 (2002)Haouari, D., Sahraoui, H., Langlais, P.: How Good is Your Comment? A Study of Comments in Java Programs. In: International Symposium on Empirical Software Engineering and Measurement, pp. 137–146. IEEE Press, New York (2011)ASME Y14.41-2012 Digital Product Definition Data Practices. The American Society of Mechanical Engineers, New York (2012)ISO 16792:2006 Technical Product Documentation – Digital Product Definition Data Practices. Organisation Internationale de Normalisation, Genève, Suisse (2006)Boehm, B., Bayuk, J., Desmukh, A., Graybill, R., Lane, J.A., Levin, A., et al.: Systems 2020 Strategic Initiative. DoD Systems Engineering Research Center. Technical Report, SERC-2010-TR-009 (2010)Quintana, V., Rivest, L., Pellerin, R.: Measuring and Improving the Process of Engineering Change Orders in a Model-Based Definition Context. International Journal of Product Lifecycle Management 6(2), 138–160 (2012)Alducin-Quintero, G., Rojo, A., Plata, F., Hernández, A., Contero, M.: 3D Model Annotation as a Tool for Improving Design Intent Communication: A Case Study on its Impact in the Engineering Change Process. In: ASME International Design Engineering Technical Conferences & Computers and Information in Engineering Conference, pp. 349–356. ASME, New York (2012)Dorribo-Camba, J., Alducin-Quintero, G., Perona, P., Contero, M.: Enhancing Model Reuse through 3D Annotations: A Theoretical Proposal for an Annotation-Centered Design Intent and Design Rationale Communication. In: ASME International Mechanical Engineering Congress & Exposition. ASME, New York (2013)Ding, L., Davies, D., McMahon, C.: Sharing Information throughout a Product Lifecycle via Markup of Product Models. In: ASME International Design Engineering Technical Conferences & Computers and Information in Engineering Conference, pp. 1267–1275. ASME, New York (2008)Ding, L., Ball, A., Patel, M., Matthews, J., Mullineux, G.: Strategies for the Collaborative Use of CAD Product Models. In: Proceedings of ICED 2009, 17th International Conference on Engineering Design, vol. 8, pp. 123–134 (2009)Ding, L., Davies, D., McMahon, C.A.: The Integration of Lightweight Representation and Annotation for Collaborative Design Representation. Research in Engineering Design 20(3), 185–200 (2009)Boujut, J.F., Dugdale, J.: Design of a 3D Annotation Tool for Supporting Evaluation Activities in Engineering Design. Cooperative Systems Design 6, 1–8 (2006)Bracewell, R.H., Wallace, K.M.: A Tool for Capturing Design Rationale. In: 14th International Conference on Engineering Design. Paper no. DS31_1437FPB (2003)Patel, M., Ball, A., Ding, L.: Curation and Preservation of CAD Engineering Models in Product Lifecycle Management. In: 14th International Conference on Virtual Systems and Multimedia Dedicated to Digital Heritage, pp. 59–66 (2008)Li, C., McMahon, C., Newnes, L.: Annotation in Product Lifecycle Management: A Review of Approaches. In: ASME International Design Engineering Technical Conferences and Computers and Information in Engineering Conference, pp. 797–806 (2009)Ahlberg, C., Shneiderman, B.: Visual Information Seeking: Tight Coupling of Dynamic Query Filters with Starfield Displays. In: SIGCHI Conference on Human Factors in Computing Systems, pp. 313–317 (1994)Fishkin, K., Stone, M.C.: Enhanced Dynamic Queries via Movable Filters. In: SIGCHI Conference on Human Factors in Computing Systems, pp. 415–420 (1995)Noyes, L.: The Positioning of Type on Maps: The Effect of Surrounding Material on Word Recognition Time. Human Factors 22(3), 353–360 (1980)Rosenholtz, R., Li, Y., Mansfield, J., Jin, Z.: Feature Congestion: A Measure of Display Clutter. In: SIGCHI Conference on Human Factors in Computing Systems, pp. 761–770 (2005)Tufte, E.R.: The Visual Display of Quantitative Information. Graphics Press, Cheshire (1983)Ellis, G., Dix, A.: A Taxonomy of Clutter Reduction for Information Visualisation. IEEE Transactions on Visualization and Computer Graphics 13(6), 1216–1223 (2007)Wolfe, J.M.: Guided Search 2.0: A Revised Model of Visual Search. Psychonomic Bulletin & Review 1(2), 202–238 (1994)Palmer, J.: Set-size Effects in Visual Search: the Effect of Attention is Independent of the Stimulus for Simple Tasks. Vision Research 34, 1703–1721 (1994)Rosenholtz, R.: Search asymmetries? What search asymmetries? Perception & Psychophysics 63(3), 476–489 (2001)Woodruff, A., Landay, J., Stonebraker, M.: Constant Information Density in Zoomable Interfaces. In: Working Conference on Advanced Visual Interfaces, pp. 57–65 (1998)Ellis, G., Bertini, E., Dix, A.: The Sampling Lens: Making Sense of Saturated Visualisations. In: Extended Abstracts on Human Factors in Computing Systems, pp. 1351–1354 (2005)Ellis, G., Dix, A.: Enabling Automatic Clutter Reduction in Parallel Coordinate Plots. IEEE Transactions on Visualization and Computer Graphics 12(5), 717–723 (2006)Frank, A.U., Timpf, S.: Multiple Representations for Cartographic Objects in a Multi-scale Tree – An Intelligent Graphical Zoom. Computers & Graphics 18(6), 823–829 (1994)Cipriano, G., Gleicher, M.: Text Scaffolds for Effective Surface Labeling. IEEE Transactions on Visualization and Computer Graphics 14(6), 1675–1682 (2008)Stein, T., Décoret, X.: Dynamic Label Placement for Improved Interactive Exploration. In: 6th International Symposium on Non-Photorealistic Animation and Rendering, pp. 15–21 (2008)Ali, K., Hartmann, K., Strothotte, T.: Label Layout for Interactive 3D Illustrations. Journal of WSCG 13(1), 1–8 (2005)Götzelmann, T., Hartmann, K., Strothotte, T.: Agent-Based Annotation of Interactive 3D Visualizations. In: Butz, A., Fisher, B., Krüger, A., Olivier, P. (eds.) SG 2006. LNCS, vol. 4073, pp. 24–35. Springer, Heidelberg (2006

    Documentation Reuse: Hot or Not? An Empirical Study

    Get PDF
    International audienceHaving available a high quality documentation is critical for software projects. This is why documentation tools such as Javadoc are so popular. As for code, documentation should be reused when possible to increase developer productivity and simplify maintenance. In this paper, we perform an empirical study of duplications in JavaDoc documentation on a corpus of seven famous Java APIs. Our results show that copy-pastes of JavaDoc documentation tags are abundant in our corpus. We also show that these copy-pastes are caused by four different kinds of relations in the underlying source code. In addition, we show that popular documentation tools do not provide any reuse mechanism to cope with these relations. Finally, we make a proposal for a simple but efficient automatic reuse mechanism

    Pretty-printing for software reengineering

    Get PDF
    Automatic software reengineerings change or repair existing software systems. They are usually tailor-made for a specific customer and language dependent. Maintaining similar reengineerings for multiple customers and different language dialects might therefore soon become problematic unless advanced language technology is being used. Generic pretty-printing is part of such technology and is the subject of this paper. We discuss specific pretty-print aspects of software reengineering such as fulfilling customer-specific format conventions, preserving existing layout, and producing multiple output formats. In addition, we describe pretty-print techniques that help to reduce maintenance effort of tailor-made reengineerings supporting multiple language dialects. Applications, such as COLBOL reengineering and SDL documentation generation show that our techniques, implemented in the generic pretty-printer GPP, are feasible

    High-fidelity metaprogramming with separator syntax trees

    Get PDF
    Many metaprogramming tasks, such as refactorings, automated bug fixing, or large-scale software renovation, require high-fidelity source code transformations-transformations which preserve comments and layout as much as possible. Abstract syntax trees (ASTs) typically abstract from such details, and hence would require pretty printing, destroying the original program layout. Concrete syntax trees (CSTs) preserve all layout information, but transformation systems or parsers that support CSTs are rare and can be cumbersome to use. In this paper we present separator syntax trees (SSTs), a lightweight syntax tree format, that sits between AST and CSTs, in terms of the amount of information they preserve. SSTs extend ASTs by recording textual layout information separating AST nodes. This information can be used to reconstruct the textual code after parsing, but can largely be ignored when implementing high-fidelity transformations. We have implemented SSTs in Rascal, and show how it enables the concise definition of high-fidelity source code transformations using a simple refactoring for C++

    Analyzing the co-evolution of comments and source code

    Get PDF
    Source code comments are a valuable instrument to preserve design decisions and to communicate the intent of the code to programmers and maintainers. Nevertheless, commenting source code and keeping comments up-to-date is often neglected for reasons of time or programmers obliviousness. In this paper, we investigate the question whether developers comment their code and to what extent they add comments or adapt them when they evolve the code. We present an approach to associate comments with source code entities to track their co-evolution over multiple versions. A set of heuristics are used to decide whether a comment is associated with its preceding or its succeeding source code entity. We analyzed the co-evolution of code and comments in eight different open source and closed source software systems. We found with statistical significance that (1) the relative amount of comments and source code grows at about the same rate; (2) the type of a source code entity, such as a method declaration or an if-statement, has a significant influence on whether or not it gets commented; (3) in six out of the eight systems, code and comments co-evolve in 90% of the cases; and (4) surprisingly, API changes and comments do not co-evolve but they are re-documented in a later revision. As a result, our approach enables a quantitative assessment of the commenting process in a software system. We can, therefore, leverage the results to provide feedback during development to increase the awareness of when to add comments or when to adapt comments because of source code change

    SLIS Student Research Journal, Vol.2, Iss.2

    Get PDF

    srcML: An Infrastructure for the Exploration, Analysis, and Manipulation of Source Code: A Tool Demonstration

    Full text link

    Dökümanlar ve program kodları arası benzerlik analizi ve uygulaması

    Get PDF
    06.03.2018 tarihli ve 30352 sayılı Resmi Gazetede yayımlanan “Yükseköğretim Kanunu İle Bazı Kanun Ve Kanun Hükmünde Kararnamelerde Değişiklik Yapılması Hakkında Kanun” ile 18.06.2018 tarihli “Lisansüstü Tezlerin Elektronik Ortamda Toplanması, Düzenlenmesi ve Erişime Açılmasına İlişkin Yönerge” gereğince tam metin erişime açılmıştır.Kopya çekmek, öğrenci başarısının yanlış değerlendirilmesine yol açan ve son yıllarda ilköğretimden üniversiteye hatta lisansüstü eğitime kadar her düzeyde sıkça gündemde olan, eğitim ve öğretim sürecinin en önemli sorunları arasında sayılabilecek bir davranıştır. Türkiye'de okuyan nüfusun fazla olması nedeniyle eğitici başına düşen öğrenci sayısı çok fazladır. Bu da eğiticilerin, öğrencileri değerlendirme aşamasında yeterince doğru karar verememeleri sonucunu doğurmaktadır. Bu çalışmada ASP.NET, C# ve SQL Server 2008 kullanılarak yapılan web tabanlı uygulama ile öğrencilerden metin belgesi veya kod dosyaları şeklinde alınan ödevlerin birbirleriyle karşılaştırılarak benzer kısımların bulunması ve ardından ödevler arasında kullanıcının belirlediği ağırlıklara göre benzerlik oranı hesaplayarak eğiticilere değerlendirme aşamasında yardımcı olunması amaçlanmıştır. Anahtar Kelimeler: Kopya Ödev, Ödev Benzerlik Tespiti, Metin KarşılaştırmaCopy, cause to a misinterpretation of the student's success and frequently on the agenda at all levels from primary school to university exams even graduate education, is a behavior can be considered among the most important training and education process's problems in recent years. The number of students per trainer is too much because of high number of studying population in Turkey. This cause the results that trainers could not take enough time and could not decide correctly during the evaluation stage. In this thesis, is purpose to assist trainers in evoluation stage by finding similar part and calculating similarity rate between homeworks which are the form of text according to weights are determined by the user with a web-based application developed using ASP.NET, C# and SQL Server 2008. Key words: Copy Homework, Homework Similarity Detection, Text Compariso
    corecore