Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1109/ICSE.2019.00103acmconferencesArticle/Chapter ViewAbstractPublication PagesicseConference Proceedingsconference-collections
research-article

Redundant loads: a software inefficiency indicator

Published: 25 May 2019 Publication History
  • Get Citation Alerts
  • Abstract

    Modern software packages have become increasingly complex with millions of lines of code and references to many external libraries. Redundant operations are a common performance limiter in these code bases. Missed compiler optimization opportunities, inappropriate data structure and algorithm choices, and developers' inattention to performance are some common reasons for the existence of redundant operations. Developers mainly depend on compilers to eliminate redundant operations. However, compilers' static analysis often misses optimization opportunities due to ambiguities and limited analysis scope; automatic optimizations to algorithmic and data structural problems are out of scope.
    We develop LoadSpy, a whole-program profiler to pinpoint redundant memory load operations, which are often a symptom of many redundant operations. The strength of LoadSpy exists in identifying and quantifying redundant load operations in programs and associating the redundancies with program execution contexts and scopes to focus developers' attention on problematic code. LoadSpy works on fully optimized binaries, adopts various optimization techniques to reduce its overhead, and provides a rich graphic user interface, which make it a complete developer tool. Applying LoadSpy showed that a large fraction of redundant loads is common in modern software packages despite highest levels of automatic compiler optimizations. Guided by LoadSpy, we optimize several well-known benchmarks and real-world applications, yielding significant speedups.

    References

    [1]
    I. Molyneaux, The Art of Application Performance Testing: Help for Programmers and Quality Assurance, 1st ed. O'Reilly Media, Inc., 2009.
    [2]
    R. E. Bryant and D. R. O'Hallaron, Computer Systems: A Programmer's Perspective, 2nd ed. USA: Addison-Wesley Publishing Company, 2010.
    [3]
    J. A. Butts and G. Sohi, "Dynamic Dead-instruction Detection and Elimination," in Proceedings of the 10th International Conference on Architectural Support for Programming Languages and Operating Systems, 2002, pp. 199--210.
    [4]
    J. S. Seng and D. M. Tullsen, "Architecture-level power optimization---what are the limits?" J. Instruction-Level Parallelism, vol. 7, 2005.
    [5]
    S. Wen, X. Liu, and M. Chabbi, "Runtime Value Numbering: A Profiling Technique to Pinpoint Redundant Computations," in Proceedings of the 2015 International Conference on Parallel Architecture and Compilation (PACT), ser. PACT '15. Washington, DC, USA: IEEE Computer Society, 2015, pp. 254--265.
    [6]
    M. Chabbi and J. Mellor-Crummey, "DeadSpy: A Tool to Pinpoint Program Inefficiencies," in Proceedings of the Tenth International Symposium on Code Generation and Optimization, ser. CGO '12. New York, NY, USA: ACM, 2012, pp. 124--134.
    [7]
    K. M. Lepak and M. H. Lipasti, "On the Value Locality of Store Instructions," in Proceedings of 27th International Symposium on Computer Architecture (IEEE Cat. No.RS00201), Jun 2000, pp. 182--191.
    [8]
    X. Liu and J. Mellor-Crummey, "Pinpointing data locality bottlenecks with low overhead," in 2013 IEEE International Symposium on Performance Analysis of Systems and Software (ISPASS), April 2013, pp. 183--193.
    [9]
    G. Marin and J. Mellor-Crummey, "Pinpointing and Exploiting Opportunities for Enhancing Data Reuse," in IEEE Intl. Symposium on Performance Analysis of Systems and Software, ser. ISPASS '08. Washington, DC, USA: IEEE Computer Society, 2008, pp. 115--126.
    [10]
    S. Wen, M. Chabbi, and X. Liu, "Redspy: Exploring value locality in software," in Proceedings of the Twenty-Second International Conference on Architectural Support for Programming Languages and Operating Systems, ser. ASPLOS '17. New York, NY, USA: ACM, 2017, pp. 47--61.
    [11]
    M. Chabbi, W. Lavrijsen, W. de Jong, K. Sen, J. Mellor-Crummey, and C. Iancu, "Barrier Elision for Production Parallel Programs," in Proceedings of the 20th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, ser. PPoPP 2015. New York, NY, USA: ACM, 2015, pp. 109--119.
    [12]
    N. R. Tallent, J. M. Mellor-Crummey, and A. Porterfield, "Analyzing Lock Contention in Multithreaded Applications," SIGPLAN Not., vol. 45, no. 5, pp. 269--280, Jan. 2010.
    [13]
    S. J. Deitz, B. L. Chamberlain, and L. Snyder, "Eliminating Redundancies in Sum-of-product Array Computations," in Proceedings of the 15th International Conference on Supercomputing, ser. ICS '01. New York, NY, USA: ACM, 2001, pp. 65--77.
    [14]
    B. K. Rosen, M. N. Wegman, and F. K. Zadeck, "Global Value Numbers and Redundant Computations," in Proceedings of the 15th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, 1988, pp. 12--27.
    [15]
    M. N. Wegman and F. K. Zadeck, "Constant Propagation with Conditional Branches," ACM Trans. Program. Lang. Syst., vol. 13, no. 2, pp. 181--210, Apr 1991.
    [16]
    M. F. Fernández, "Simple and Effective Link-time Optimization of Modula-3 Programs," in Proceedings of the ACM SIGPLAN 1995 Conference on Programming Language Design and Implementation, ser. PLDI '95. New York, NY, USA: ACM, 1995, pp. 103--115.
    [17]
    T. Johnson, M. Amini, and X. D. Li, "Thinlto: Scalable and incremental lto," in Proceedings of the 2017 International Symposium on Code Generation and Optimization, ser. CGO '17. Piscataway, NJ, USA: IEEE Press, 2017, pp. 111--121.
    [18]
    A. Srivastava and D. W. Wall, "A practical system for intermodule code optimization at link-time," Journal of Programming Languages, vol. 1, no. 1, pp. 1--18, Dec. 1992.
    [19]
    L. Adhianto, S. Banerjee, M. Fagan, M. Krentel, G. Marin, J. Mellor-Crummey, and N. R. Tallent, "HPCToolkit: Tools for Performance Analysis of Optimized Parallel Programs," Concurrency Computation: Practice Expererience, vol. 22, no. 6, pp. 685--701, Apr 2010.
    [20]
    "Intel VTune," https://software.intel.com/en-us/intel-vtune-amplifier-xe, 2018.
    [21]
    Linux, "Linux perf tool," https://perf.wiki.kernel.org/index.php/Main_Page, 2015.
    [22]
    S. L. Graham, P. B. Kessler, and M. K. Mckusick, "Gprof: A Call Graph Execution Profiler," in Proceedings of the 1982 SIGPLAN Symposium on Compiler Construction, ser. SIGPLAN '82. New York, NY, USA: ACM, 1982, pp. 120--126.
    [23]
    J. Levon et al., "OProfile," http://oprofile.sourceforge.net, 2017.
    [24]
    L. DeRose, B. Homer, D. Johnson, S. Kaufmann, and H. Poxon, "Cray performance analysis tools," in Tools for High Performance Computing. Springer Berlin Heidelberg, 2008, pp. 191--199.
    [25]
    A. Nistor, L. Song, D. Marinov, and S. Lu, "Toddler: Detecting performance problems via similar memory-access patterns," in 2013 35th International Conference on Software Engineering (ICSE), May 2013, pp. 562--571.
    [26]
    S. Pop, A. Cohen, C. Bastoul, S. Girbal, G.-A. Silber, and N. Vasilache, "Graphite: Polyhedral analyses and optimizations for GCC," in Proceedings of the 2006 GCC Developers Summit, 2006, p. 2006.
    [27]
    K. Cooper, J. Eckhardt, and K. Kennedy, "Redundancy elimination revisited," in Proceedings of the 17th International Conference on Parallel architectures and compilation techniques, 2008, pp. 12--21.
    [28]
    Y. Luo and G. Tan, "Optimizing Stencil Code via Locality of Computation," in Proceedings of the 23rd International Conference on Parallel Architectures and Compilation, 2014, pp. 477--478.
    [29]
    R. Hundt, E. Raman, M. Thuresson, and N. Vachharajani, "MAO - An Extensible Micro-architectural Optimizer," in Proceedings of the 9th Annual IEEE/ACM International Symposium on Code Generation and Optimization, ser. CGO '11. Washington, DC, USA: IEEE Computer Society, 2011, pp. 1--10.
    [30]
    Y. Ding and X. Shen, "Glore: Generalized loop redundancy elimination upon ler-notation," Proc. ACM Program. Lang., vol. 1, no. OOPSLA, pp. 74:1--74:28, Oct. 2017.
    [31]
    Y. Ding, L. Ning, H. Guan, and X. Shen, "Generalizations of the theory and deployment of triangular inequality for compiler-based strength reduction," in Proceedings of the 38th ACM SIGPLAN Conference on Programming Language Design and Implementation, ser. PLDI 2017. New York, NY, USA: ACM, 2017, pp. 33--48.
    [32]
    M. H. Lipasti, C. B. Wilkerson, and J. P. Shen, "Value Locality and Load Value Prediction," in Proceedings of the Seventh International Conference on Architectural Support for Programming Languages and Operating Systems, ser. ASPLOS VII. New York, NY, USA: ACM, 1996, pp. 138--147.
    [33]
    M. H. Lipasti and J. P. Shen, "Exceeding the Dataflow Limit via Value Prediction," in Proceedings of the 29th Annual ACM/IEEE International Symposium on Microarchitecture, ser. MICRO 29. Washington, DC, USA: IEEE Computer Society, 1996, pp. 226--237.
    [34]
    K. M. Lepak and M. H. Lipasti, "Silent Stores for Free," in Proceedings of the 33rd Annual ACM/IEEE International Symposium on Microarchitecture, ser. MICRO 33. New York, NY, USA: ACM, 2000, pp. 22--31.
    [35]
    J. S. Miguel, M. Badr, and N. E. Jerger, "Load Value Approximation," in Proceedings of the 47th Annual IEEE/ACM International Symposium on Microarchitecture, ser. MICRO-47. Washington, DC, USA: IEEE Computer Society, 2014, pp. 127--139.
    [36]
    J. S. Miguel, J. Albericio, A. Moshovos, and N. E. Jerger, "Doppelganger: A Cache for Approximate Computing," in Proceedings of the 48th International Symposium on Microarchitecture, ser. MICRO-48. New York, NY, USA: ACM, 2015, pp. 50--61.
    [37]
    A. Yazdanbakhsh, G. Pekhimenko, B. Thwaites, H. Esmaeilzadeh, O. Mutlu, and T. C. Mowry, "RFVP: Rollback-free Value Prediction with Safe-to-approximate Loads," ACM Transactions on Architecture and Code Optimization (TACO), vol. 12, no. 4, p. 62, 2016.
    [38]
    B. Calder, P. Feller, and A. Eustace, "Value profiling," in Proceedings of the 30th Annual ACM/IEEE International Symposium on Microarchitecture, ser. MICRO 30. Washington, DC, USA: IEEE Computer Society, 1997, pp. 259--269.
    [39]
    B. Calder, "Value Profiling and Optimization," Journal of Instruction Level Parallelism, vol. 1, 1999.
    [40]
    P. T. Feller, "Value Profiling for Instructions and Memory Locations," Master dissertation, 1998.
    [41]
    S. A. Watterson and S. K. Debray, "Goal-Directed Value Profiling," in Proceedings of the 10th International Conference on Compiler Construction, ser. CC '01. London, UK, UK: Springer-Verlag, 2001, pp. 319--333.
    [42]
    M. Burrows, U. Erlingsson, S.-T. A. Leung, M. T. Vandevoorde, C. A. Waldspurger, K. Walker, and W. E. Weihl, "Efficient and Flexible Value Sampling," in Proceedings of the Ninth International Conference on Architectural Support for Programming Languages and Operating Systems, ser. ASPLOS IX. New York, NY, USA: ACM, 2000, pp. 160--167.
    [43]
    J. M. Anderson, L. M. Berc, J. Dean, S. Ghemawat, M. R. Henzinger, S.-T. A. Leung, R. L. Sites, M. T. Vandevoorde, C. A. Waldspurger, and W. E. Weihl, "Continuous Profiling: Where Have All the Cycles Gone?" ACM Trans. Comput. Syst., vol. 15, no. 4, pp. 357--390, Nov. 1997.
    [44]
    S. Wen, X. Liu, J. Byrne, and M. Chabbi, "Watching for software inefficiencies with witch," in Proceedings of the Twenty-Third International Conference on Architectural Support for Programming Languages and Operating Systems, ser. ASPLOS '18. New York, NY, USA: ACM, 2018, pp. 332--347.
    [45]
    R. Muth, S. A. Watterson, and S. K. Debray, "Code Specialization Based on Value Profiles," in Proceedings of the 7th International Symposium on Static Analysis, ser. SAS '00. London, UK, UK: Springer-Verlag, 2000, pp. 340--359.
    [46]
    T. Oh, H. Kim, N. P. Johnson, J. W. Lee, and D. I. August, "Practical Automatic Loop Specialization," in Proceedings of the Eighteenth International Conference on Architectural Support for Programming Languages and Operating Systems, ser. ASPLOS '13. New York, NY, USA: ACM, 2013, pp. 419--430.
    [47]
    E.-Y. Chung, L. Benini, and G. D. Micheli, "Energy Efficient Source Code Transformation based on Value Profiling," in PROC. INTERNATIONAL WORKSHOP ON COMPILERS AND OPERATING SYSTEMS FOR LOW POWER, 2000.
    [48]
    T. Kamio and H. Masahura, "A Value Profiler for Assisting Object-Oriented Program Specialization," in Proceedings of Workshop on New Approaches to Software Construction, 2004.
    [49]
    S. Henry, H. Bolloré, and E. Oseret, "Towards the Generalization of Value Profiling for High-Performance Application Optimization," http://sylvain-henry.info/home/files/papers/shenry_2015_vprof.pdf, 2015.
    [50]
    L. Della Toffola, M. Pradel, and T. R. Gross, "Performance problems you can fix: A dynamic analysis of memoization opportunities," in Proceedings of the 2015 ACM SIGPLAN International Conference on Object-Oriented Programming, Systems, Languages, and Applications, ser. OOPSLA 2015. New York, NY, USA: ACM, 2015, pp. 607--622.
    [51]
    R. Padhye and K. Sen, "Travioli: A dynamic analysis for detecting data-structure traversals," in Proceedings of the 39th International Conference on Software Engineering, ser. ICSE '17. Piscataway, NJ, USA: IEEE Press, 2017, pp. 473--483.
    [52]
    L. Song and S. Lu, "Performance diagnosis for inefficient loops," in Proceedings of the 39th International Conference on Software Engineering, ser. ICSE '17. Piscataway, NJ, USA: IEEE Press, 2017, pp. 370--380.
    [53]
    SPEC Corporation, "SPEC CPU2006 benchmark suite," http://www.spec.org/cpu2006, 2007, 3 November 2007.
    [54]
    C. Bienia, "Benchmarking modern multiprocessors," Ph.D. dissertation, Princeton University, January 2011.
    [55]
    S. Che, M. Boyer, J. Meng, D. Tarjan, J. W. Sheaffer, S. H. Lee, and K. Skadron, "Rodinia: A benchmark suite for heterogeneous computing," in 2009 IEEE International Symposium on Workload Characterization (IISWC), Oct 2009, pp. 44--54.
    [56]
    NERSC, "NERSC-8 / Trinity Benchmarks," http://www.nersc.gov/users/computational-systems/cori/nersc-8-procurement/trinity-nersc-8-rfp/nersc-8-trinity-benchmarks, 2016.
    [57]
    GCC Wiki, "Graphite: Gimple Represented as Polyhedra," https://gcc.gnu.org/wiki/Graphite, 2015.
    [58]
    C. Lattner and V. Adve, "Llvm: A compilation framework for lifelong program analysis & transformation," in Proceedings of the International Symposium on Code Generation and Optimization: Feedback-directed and Runtime Optimization, ser. CGO '04. Washington, DC, USA: IEEE Computer Society, 2004, pp. 75-.
    [59]
    Intel Corp., "Intel C++ Compilers," https://software.intel.com/en-us/c-compilers, 2017.
    [60]
    C.-K. Luk, R. Cohn, R. Muth, H. Patil, A. Klauser, G. Lowney, S. Wallace, V. J. Reddi, and K. Hazelwood, "Pin: Building customized program analysis tools with dynamic instrumentation," in Proceedings of the 2005 ACM SIGPLAN Conference on Programming Language Design and Implementation, ser. PLDI '05. New York, NY, USA: ACM, 2005, pp. 190--200.
    [61]
    M. Chabbi, X. Liu, and J. Mellor-Crummey, "Call paths for pin tools," in Proceedings of Annual IEEE/ACM International Symposium on Code Generation and Optimization, ser. CGO '14. New York, NY, USA: ACM, 2014, pp. 76:76--76:86.
    [62]
    G. Ammons, T. Ball, and J. R. Larus, "Exploiting hardware performance counters with flow and context sensitive profiling," in Proceedings of the ACM SIGPLAN 1997 Conference on Programming Language Design and Implementation, ser. PLDI '97. New York, NY, USA: ACM, 1997, pp. 85--96.
    [63]
    X. Liu and J. Mellor-Crummey, "A data-centric profiler for parallel programs," in Proceedings of the International Conference on High Performance Computing, Networking, Storage and Analysis, ser. SC '13. New York, NY, USA: ACM, 2013, pp. 28:1--28:12.
    [64]
    L. Torczon and K. Cooper, Engineering A Compiler, 2nd ed. San Francisco, CA, USA: Morgan Kaufmann Publishers Inc., 2011.
    [65]
    F. Qiao, W. Zhao, X. Yin, X. Huang, X. Liu, Q. Shu, G. Wang, Z. Song, X. Li, H. Liu, G. Yang, and Y. Yuan, "A highly effective global surface wave numerical simulation with ultra-high resolution," in Proceedings of the International Conference for High Performance Computing, Networking, Storage and Analysis, ser. SC '16. Piscataway, NJ, USA: IEEE Press, 2016, pp. 5:1--5:11.
    [66]
    P. Havlak, "Nesting of reducible and irreducible loops," ACM TOPLAS, vol. 19, no. 4, pp. 557--567, 1997.
    [67]
    Y. Zhong and W. Chang, "Sampling-based program locality approximation," in Proceedings of the 7th International Symposium on Memory Management, ser. ISMM '08. New York, NY, USA: ACM, 2008, pp. 91--100.
    [68]
    "The DWARF Debugging Standard," http://www.dwarfstd.org, 2012.
    [69]
    N. R. Tallent, L. Adhianto, and J. M. Mellor-Crummey, "Scalable identification of load imbalance in parallel executions using call path profiles," in Proceedings of the 2010 ACM/IEEE International Conference for High Performance Computing, Networking, Storage and Analysis, ser. SC '10. Washington, DC, USA: IEEE Computer Society, 2010, pp. 1--11.
    [70]
    SPEC Corporation, "SPEC OMP2012 benchmark suite," https://www.spec.org/omp2012/, 2015, may 2015.
    [71]
    SPEC Corporation, "SPEC CPU2017 benchmark suite," http://www.spec.org/cpu2017, 2017, november 29 2017.
    [72]
    C. C. Minh, J. Chung, C. Kozyrakis, and K. Olukotun, "Stamp: Stanford transactional applications for multi-processing," in 2008 IEEE International Symposium on Workload Characterization, Sept 2008, pp. 35--46.
    [73]
    Apache Software Foundation, "Apache avro," https://avro.apache.org, 2017, 21 February 2018.
    [74]
    E. D. Berger, K. S. McKinley, R. D. Blumofe, and P. R. Wilson, "Hoard: A scalable memory allocator for multithreaded applications," in Proceedings of the Ninth International Conference on Architectural Support for Programming Languages and Operating Systems, ser. ASPLOS IX. New York, NY, USA: ACM, 2000, pp. 117--128.
    [75]
    S. Sonnenburg, H. Strathmann, S. Lisitsyn, V. Gal, F. J. I. Garca, W. Lin, S. De, C. Zhang, frx, tklein23, E. Andreev, JonasBehr, sploving, P. Mazumdar, C. Widmer, P. D. . Zora, S. Mahindre, A. Kislay, K. Hughes, R. Votyakov, khalednasr, S. Sharma, A. Novik, A. Panda, E. Anagnostopoulos, L. Pang, A. Binder, serialhex, E. Srig, and B. Esser, "shogun-toolbox/shogun: Shogun 6.0.0 - Baba Nobuharu," Apr. 2017.
    [76]
    R. G. Edwards and B. Joo, "The chroma software system for lattice qcd," Nucl. Phys. Proc. Suppl., vol. 140, p. 832, 2005.
    [77]
    A. Joulin and T. Mikolov, "Inferring Algorithmic Patterns with Stack-Augmented Recurrent Nets," ArXiv e-prints, Mar. 2015.
    [78]
    GNU, "GNU Binutils," https://www.gnu.org/software/binutils/, 2014, september 2014.
    [79]
    P. Melsted, H. Pimentel, and L. Pachter, "Near-optimal RNA-Seq quantification," https://github.com/makaho/kallisto, 2014.
    [80]
    P. Su, S. Wen, H. Yang, M. Chabbi, and X. Liu, "Redundant Loads: A Software Inefficiency Indicator," ArXiv e-prints, Feb. 2019. {Online}. Available: https://arxiv.org/abs/1902.05462
    [81]
    K. Sorokin, "Benchmark comparing various data serialization libraries (thrift, protobuf etc.) for C++," https://github.com/thekvs/cpp-serializers, 2014.

    Cited By

    View all
    • (2023)BiRFIA: Selective Binary Rewriting for Function Interception on ARMProceedings of the 37th International Conference on Supercomputing10.1145/3577193.3593701(87-98)Online publication date: 21-Jun-2023
    • (2022)Graph neural networks based memory inefficiency detection using selective samplingProceedings of the International Conference on High Performance Computing, Networking, Storage and Analysis10.5555/3571885.3571998(1-14)Online publication date: 13-Nov-2022
    • (2022)Exploring GNN based program embedding technologies for binary related tasksProceedings of the 30th IEEE/ACM International Conference on Program Comprehension10.1145/3524610.3527900(366-377)Online publication date: 16-May-2022
    • Show More Cited By

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM Conferences
    ICSE '19: Proceedings of the 41st International Conference on Software Engineering
    May 2019
    1318 pages

    Sponsors

    Publisher

    IEEE Press

    Publication History

    Published: 25 May 2019

    Check for updates

    Author Tags

    1. performance measurement
    2. software optimization
    3. tools
    4. whole-program profiling

    Qualifiers

    • Research-article

    Conference

    ICSE '19
    Sponsor:

    Acceptance Rates

    Overall Acceptance Rate 276 of 1,856 submissions, 15%

    Upcoming Conference

    ICSE 2025

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)34
    • Downloads (Last 6 weeks)0

    Other Metrics

    Citations

    Cited By

    View all
    • (2023)BiRFIA: Selective Binary Rewriting for Function Interception on ARMProceedings of the 37th International Conference on Supercomputing10.1145/3577193.3593701(87-98)Online publication date: 21-Jun-2023
    • (2022)Graph neural networks based memory inefficiency detection using selective samplingProceedings of the International Conference on High Performance Computing, Networking, Storage and Analysis10.5555/3571885.3571998(1-14)Online publication date: 13-Nov-2022
    • (2022)Exploring GNN based program embedding technologies for binary related tasksProceedings of the 30th IEEE/ACM International Conference on Program Comprehension10.1145/3524610.3527900(366-377)Online publication date: 16-May-2022
    • (2022)ValueExpert: exploring value patterns in GPU-accelerated applicationsProceedings of the 27th ACM International Conference on Architectural Support for Programming Languages and Operating Systems10.1145/3503222.3507708(171-185)Online publication date: 28-Feb-2022
    • (2021)Toward efficient interactions between Python and native librariesProceedings of the 29th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering10.1145/3468264.3468541(1117-1128)Online publication date: 20-Aug-2021
    • (2020)Analyzing memory accesses with modern processorsProceedings of the 16th International Workshop on Data Management on New Hardware10.1145/3399666.3399896(1-9)Online publication date: 15-Jun-2020
    • (2020)What every scientific programmer should know about compiler optimizations?Proceedings of the 34th ACM International Conference on Supercomputing10.1145/3392717.3392754(1-12)Online publication date: 29-Jun-2020
    • (2020)CP-detectorProceedings of the 35th IEEE/ACM International Conference on Automated Software Engineering10.1145/3324884.3416531(623-634)Online publication date: 21-Dec-2020
    • (2019)Tuning backfired? not (always) your fault: understanding and detecting configuration-related performance bugsProceedings of the 2019 27th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering10.1145/3338906.3342498(1229-1231)Online publication date: 12-Aug-2019
    • (2019)Pinpointing performance inefficiencies in JavaProceedings of the 2019 27th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering10.1145/3338906.3338923(818-829)Online publication date: 12-Aug-2019

    View Options

    Get Access

    Login options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media